{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "数据加载成功！\n",
      "   ID   姓名  选择题1  选择题2  选择题3  选择题4  选择题5  选择题6  选择题7  选择题8  ...  简答题2  简答题3  \\\n",
      "0   1  学生1     2     2     0     2     2     2     2     2  ...     7     9   \n",
      "1   2  学生2     2     2     0     0     0     0     2     0  ...     0     5   \n",
      "2   3  学生3     0     2     2     2     2     2     2     2  ...     5     7   \n",
      "3   4  学生4     2     2     0     2     0     0     0     2  ...     3     2   \n",
      "4   5  学生5     2     0     0     0     0     2     2     0  ...     7     7   \n",
      "\n",
      "   简答题4  简答题5  编程题1  编程题2  选择题总分  简答题总分  编程题总分  总分  \n",
      "0     6    10    10    15     16     40     25  81  \n",
      "1     3     1     2     8      8     15     10  33  \n",
      "2     6     6    11    10     16     33     21  70  \n",
      "3     3     1     3     5     12     11      8  31  \n",
      "4     9     8    13    12     10     39     25  74  \n",
      "\n",
      "[5 rows x 23 columns]\n",
      "\n",
      "开始目标分析：\n",
      "示例输入格式：1 2 （表示目标 1 包含第 1、2 题）\n",
      "示例输入格式：1 2 （表示目标 2 包含第 1、2 题）\n",
      "示例输入格式：1 2 （表示目标 3 包含第 1、2 题）\n",
      "示例输入格式：1 2 （表示目标 4 包含第 1、2 题）\n",
      "\n",
      "目标 1 的得分情况：\n",
      "    ID    姓名  目标 1 总分\n",
      "0    1   学生1        4\n",
      "1    2   学生2        4\n",
      "2    3   学生3        2\n",
      "3    4   学生4        4\n",
      "4    5   学生5        2\n",
      "5    6   学生6        2\n",
      "6    7   学生7        2\n",
      "7    8   学生8        0\n",
      "8    9   学生9        2\n",
      "9   10  学生10        0\n",
      "10  11  学生11        4\n",
      "11  12  学生12        2\n",
      "12  13  学生13        4\n",
      "13  14  学生14        4\n",
      "14  15  学生15        4\n",
      "15  16  学生16        2\n",
      "16  17  学生17        2\n",
      "17  18  学生18        2\n",
      "18  19  学生19        2\n",
      "19  20  学生20        0\n",
      "20  21  学生21        2\n",
      "21  22  学生22        2\n",
      "22  23  学生23        2\n",
      "23  24  学生24        4\n",
      "24  25  学生25        0\n",
      "25  26  学生26        2\n",
      "26  27  学生27        2\n",
      "27  28  学生28        4\n",
      "28  29  学生29        2\n",
      "29  30  学生30        4\n",
      "\n",
      "目标 2 的得分情况：\n",
      "    ID    姓名  目标 2 总分\n",
      "0    1   学生1        2\n",
      "1    2   学生2        0\n",
      "2    3   学生3        4\n",
      "3    4   学生4        2\n",
      "4    5   学生5        0\n",
      "5    6   学生6        2\n",
      "6    7   学生7        4\n",
      "7    8   学生8        0\n",
      "8    9   学生9        2\n",
      "9   10  学生10        0\n",
      "10  11  学生11        4\n",
      "11  12  学生12        0\n",
      "12  13  学生13        4\n",
      "13  14  学生14        2\n",
      "14  15  学生15        4\n",
      "15  16  学生16        4\n",
      "16  17  学生17        4\n",
      "17  18  学生18        0\n",
      "18  19  学生19        4\n",
      "19  20  学生20        4\n",
      "20  21  学生21        4\n",
      "21  22  学生22        0\n",
      "22  23  学生23        2\n",
      "23  24  学生24        2\n",
      "24  25  学生25        4\n",
      "25  26  学生26        4\n",
      "26  27  学生27        4\n",
      "27  28  学生28        2\n",
      "28  29  学生29        2\n",
      "29  30  学生30        2\n",
      "\n",
      "目标 3 的得分情况：\n",
      "    ID    姓名  目标 3 总分\n",
      "0    1   学生1        4\n",
      "1    2   学生2        0\n",
      "2    3   学生3        4\n",
      "3    4   学生4        0\n",
      "4    5   学生5        2\n",
      "5    6   学生6        0\n",
      "6    7   学生7        2\n",
      "7    8   学生8        0\n",
      "8    9   学生9        2\n",
      "9   10  学生10        2\n",
      "10  11  学生11        4\n",
      "11  12  学生12        2\n",
      "12  13  学生13        4\n",
      "13  14  学生14        2\n",
      "14  15  学生15        4\n",
      "15  16  学生16        2\n",
      "16  17  学生17        4\n",
      "17  18  学生18        4\n",
      "18  19  学生19        2\n",
      "19  20  学生20        2\n",
      "20  21  学生21        4\n",
      "21  22  学生22        2\n",
      "22  23  学生23        2\n",
      "23  24  学生24        2\n",
      "24  25  学生25        4\n",
      "25  26  学生26        2\n",
      "26  27  学生27        4\n",
      "27  28  学生28        2\n",
      "28  29  学生29        2\n",
      "29  30  学生30        2\n",
      "未保存结果。\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJNCAYAAADgesaeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPP0lEQVR4nO3de5iVVd0//vcww0HkLB4RFNQ0NUsJJTK0ojIPZT1mZub5EbU0w3jStPIUkhla+aQRJqF5Ki0PPZpn0/IQiiZClgIGigqJMxwHZmb//uDH/joyICjcuxler+u6L9v3uve9P2vPNLPmzVprV5VKpVIAAAAAoEDtKl0AAAAAABseoRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQC56667cvvtt6dUKr2r+9TV1eUXv/hFs3N33313brzxxpXuvWTJktx5550rHS+++GIeffTR3H777Su13X777Zk4cWKz+zQ1NaW2trb8+PXXX8+FF16Ypqam8rnFixfn85//fP7617+2WPeyZctWOrfLLrvkvPPOW+v34N1YvHhxbr/99vVy74aGhrW6fsmSJc0e/+Mf/8hzzz23Rs+dN29ei683b968zJ8//22fP3369IwfP77Fr8vMmTNz9dVXr1EdM2bMyL/+9a9m5/72t7/l6KOPzmOPPbZG9wAA1h+hFACQb33rW7nyyitTVVW1ymsaGxuzaNGi8uP7778/Rx55ZLNr/vWvf2XEiBH5+c9/Xj73ve99L7/73e9WuvfcuXPz6U9/Ot/97ndzwQUX5IILLsgXvvCF3H777fntb3+b888/P+edd14OPvjgjBgxIueee27OO++83Hrrrc3u87WvfS177bVXOXx48sknc9ZZZ+X8888vXzN+/Pj87ne/y9NPP91i3/73f/83H/jAB/LPf/6zfG7+/PlrHOTMnz8/Tz31VG644Yb8z//8T973vvfljjvuSH19fZ5//vk89thjufnmmzNq1Kh8/vOfzwc/+MFmodkKJ598cg477LDMmDEjjzzySDp16rTK48EHH2yxlt/85jc59NBD09jY2Oz8yJEj89nPfnaN+3Taaafl4IMPLj8+9dRTc+qpp67Rc3/84x9nwIABK4VKN910U7bYYouVgqK3euKJJ3LMMce0+B79+c9/zpFHHpmnnnrqbes48cQT8z//8z/NztXV1eVXv/pVli1bliuvvDL/93//t9LzBgwYkKqqqrU6vvnNb75tPQBAc0IpANjAXX311Xnqqafy+9//frV/dNfU1GTjjTcuz6BZvHhxrr766kyaNCkLFy7MP//5z3Tp0iVnnnlm3njjjcyaNSsPP/xwHn300Zx44omZOXNmpk2bltdeey1J0r59+yTJzTffnIcffjgPP/xwdtxxx7Rv3z4XX3xxHnvssfzlL39JdXV1fvWrX+WRRx7J448/vtLspbPOOisNDQ35xCc+kSVLlmTYsGE59dRT85Of/CTz589PfX19fvjDH+bYY4/N8ccf3+J78Oijj6ahoSEDBgwon2vXrl3atVuzodLXv/71fPzjH891112XxsbGDB8+PL17987jjz+eHXbYIccee2x++tOf5tlnn82OO+6YY489NnV1dc3uMWbMmFx77bW5+eabs+2226ZDhw5paGjIkiVLVjre/P691U477ZQ//OEPOeOMM5qdv/XWW/Pe9743NTU1b9ufl156KVdddVUGDRpUPnf++efn7rvvzm233fa2z588eXKGDh26Uo133313PvShD6Vfv36rfX6nTp2SJB07dlyp7XOf+1z23nvvzJ49e6W2urq6/OQnPyk/7tChw0r32GijjZIkm2++ebp27ZpDDjkkN998c7Nrampqcskll2Tx4sXl49JLL83jjz/e7NyK46Mf/WiLtQIAq/f2oxIAoM169dVXc/rpp+eyyy7LUUcdtdprGxsbs2TJknJg8PGPfzwbbbRR/vjHP+b111/P/vvvn/bt26e6ujrJ8rCoXbt26dq1az7zmc+kqakpDQ0NOeWUU3LRRReVA4u+ffs2e5327dunrq4uf/rTn1JXV5dFixblueeey6uvvpqamprst99+za7v06dPbrnlljzzzDPl2s4999x84xvfSNeuXfPDH/4wS5cuzSWXXNJiv+rr63PXXXfl+9//frn2lpRKpSxdujRNTU3lYGOF6urqfPSjH81vf/vbZucff/zxVFdX59lnn13te3veeefl+9//fm688cYMGzYsyfJQrLGxMdtuu22LNa8qMHvf+96XcePGZfz48SmVSqmqqsqf//znvPrqqxk5cuRq61jhe9/7Xnr37p1vfOMb5XODBg3K0UcfneOPPz5PP/10tthii5We99prr2Xp0qV55plncuqpp2bWrFlJki222CKLFi3K7bffni9+8Yu55pprys/p2rVrPvvZzyZJFi1alOrq6vJSzxXfc88++2zGjRuX9u3bp6qqKu9///vzhz/8IX/4wx+ydOnSDBgwIGeccUZee+21nHvuuVm4cGHOPPPMtGvXbqUZeiu+72pqanLooYdm8eLF+dWvfpXPf/7z5WtqampSU1NT/n6aOnVqvvnNb2bEiBF53/vet9J17dq1W+33DgDQMqEUAGygli1blkMPPTRDhgzJcccd97bLujp16pTu3buXH3fs2DE333xzPvCBD2SLLbZIfX19s+v79OmT0047bZVByIqlWc8//3z69OmTJPnwhz+cUqmUf/3rXznooIPK137lK19JsjzcePMMmYEDB+bJJ58sP/7Sl760yvrfXPuUKVPy3ve+N0ly++23Z968eTn55JNz8sknN3vOueeem3PPPbfZuQMOOGClfZ9WFUisaVDRvXv33HLLLfnEJz6RPffcMyNGjMiOO+6Y6urqzJgxY6XrO3Xq1OLStuHDh5fDmyQrhWd9+vTJsmXL8o1vfCMXX3xxi7XceeedufLKK3P11Venc+fOzdrGjBmT+++/P5/+9Kdz9913p3fv3s3aDz744DzyyCNJli+r/NrXvpZk+X5U999/f5qamvK3v/0tf/vb35Ik//73v9OhQ4dyKPXJT34yf/7zn8v3WzGr6957703//v3ToUOHVFdX5xvf+EZOPfXU9O/fP4sXLy4HZNtvv31++9vf5tOf/nQ+9rGPle+zZMmSVFdXl0OtJOX/HnXUUfniF7+YZcuWld+3N8/wWjHzraGhIRdddFEuuuii8vMffvjhDBkyJEnWeFYdAPD/+O0JABugpqamHHrooZk3b16uvvrqHHrooenatetqj+9+97sr3We//fYrBwKlUik9e/bMFltska233jq1tbX50Y9+lK233jpbbbVVevTokYULF5afu2K/oY4dO5b3SaqqqsrSpUvTvn37dOzYMcuWLSsff/zjH7Pxxhs3e/3OnTtn+PDhmTlz5hod99xzT/k1V7j44otzxBFHZPbs2c2OrbfeOqeffnr58csvv5zp06dn7NixK70P1dXVue2229K7d+/yMXXq1FUGFUuXLm22kfjXv/717Lfffhk7dmwmTZqUHXfcMfX19WlsbGxxKWV9ff1KIeCKfn3lK19pccnfiuOjH/1oOnTo0GJdr7zySo477rh85jOfyRFHHLFSe48ePfKHP/whs2fPzl577bXSxvEdO3bM9773vZRKpZRKpUyfPr38/lx66aU59dRTM3HixPJx9tlnl2cjJcktt9ySuXPn5rDDDkuyfGP02bNnZ999982ZZ56Z008/PaeddlqS5Atf+EJOO+20nHnmmTn66KPL9/joRz9aDktXOPHEE9OhQ4dUVVVlt912S5L079+//H5utNFGzfZBe/PsqjPOOCMPPfRQjjjiiPJsub322iunnHJKOZACAN4ZM6UAYAPUrl27jBgxIttss026du2aefPm5YYbbsihhx6az33uc9lmm21ywQUXpEuXLkmSz372s9lyyy3Lzx87dmz++te/prq6OsOGDcshhxySqqqqzJ8/P5dcckmzkCBZvmfThz70oWYzUBoaGtKxY8dsv/32za5tamoqhzk1NTX51a9+lW7duqVr164r7YfUrl27bLrpptlyyy2zZMmSdOjQYZV7LSXLl4dts8025U3Ab7311jz66KMZNWrUSsvRqqur06VLlxaXqb1VTU1NPv7xj+dnP/tZkuUzdtq1a5dFixaVg6W3+uIXv5jrr7++/HjWrFk544wzMnz48AwcODCNjY2r/aS6t86CSla9z9SaXPfGG2/kgAMOSE1NTb71rW/lxRdfbHGmV7du3XLDDTfkhBNOyJAhQ/K1r30tY8aMSVVV1Spnhv385z/Pq6++mm9961vNzi9btqxZKLXJJpskSXkT9wULFqR3795rPQtp//33T5LyMsALLrigHICt2KD/f//3f/OZz3wmyfL90Xr16rXSfR5++OFcfvnluf3223P66afnqKOOyqJFi9KtW7dVzjQDANacUAoANlB77rlnOUR4+eWXs9VWWyVJrrzyyhx//PH53ve+lx/96EdJktra2vTu3Tv19fUplUrZcccd07Fjx1x88cXp0aNHDjnkkCTLw47jjjtulRuKvzlU2mSTTbJgwYJm55qamrJkyZLyXkRJcs8992SjjTbKoYceutKStRXhxQMPPJCPfvSjq+3vcccdl3HjxjVbDveXv/wle+yxR/bdd9/VPvftNDQ0pHPnzs32f2rfvn3mz5+fLl26ZM6cOUmSU045JQsWLMjPfvazZkHV0qVLc+ihh2bBggX5/ve/n4aGhrz++uvp1KlTi4FMqVTKvHnz0rNnz2ZB0NKlS7N48eK88sorq6x16dKlK30qXrJ8NtGLL76YG2+8MR/+8IdX29927drltddeyymnnFL+pLrVOfLII3PQQQflpz/9abbddtvy/mVLly5daYPwe+65p7xEc++9987xxx+fs88+O3PmzEl1dXX5/ViwYEHmzZuXJUuWpHv37istNXzyySdz11135Ytf/GK23nrr8vkFCxYkSaZPn97sfEv23nvvPP/889lss83y3HPP5fTTT09NTU2uu+46e0gBwDpg+R4AbKC+/vWvl/fYmTZtWj7ykY+kqqoqm2yySX73u9+VZ79UVVXlwQcfzFe+8pV06tQpJ554YvbZZ58cddRR2XzzzZuFClVVVbnyyivT0NDQ7Hj44YfL7Svssccead++fflT7lZsFr3xxhuXQ5xkeQCy4tPaVrXv1V577ZUXXnghs2bNKi+3+8c//pGvfOUr5Y2xV+xb9GajR4/OX//61yxZsiRPPvlkpkyZkr///e/5+9//nmXLlmXu3Lnlx5MnT84///nPFl+/paV0K2aO9e7du7w8sbq6OtXV1enZs2d69OiRZHkw86UvfSmPPPJIqqqq0rNnzzz33HPp06dP+vTpk6233rrZ0aNHj2y22WbZaqutVtpvaunSpbnxxhuz5ZZbrvJ46KGHsnTp0pXqHTduXB5++OHsu+++ee2111JbW5sPf/jDOeqoozJ//vzyccEFF2TLLbfMJptskmuvvTannHJKs/uce+655e+b/v37J1m+Z9bee++dJUuW5Jxzzil/Hd86UypJvv/975f3+zrqqKMyevTozJ49O5/4xCeyySablPexOvDAA9O7d+9stdVWK3163muvvdZs4/I3+9vf/paNN964HGiuzkMPPZRLL700O+64Y8aOHZvf/OY3+dGPfpSTTz45/fv3zzHHHJP777//be8DALRMKAUAG6iLLroob7zxRubNm5dk+cyRefPmZeDAgbnhhhuaBRHbbrtt7rjjjrz++uv58Y9/3Ow+bw6a3m7GzJvbH3vssSxZsiRNTU357ne/m2OPPTalUinz589vtin5tGnTssMOOyT5f7Nc3mqjjTbKgAED0qdPn2yxxRZZtmxZ9tlnn9xxxx35xS9+kUmTJjXbOP3N2rVrl2nTpmWvvfbK4MGDy8fs2bMzbty4ZudW7Gf0VnV1dbnpppvKYUxjY2Pq6+vz0ksvrfTpgm/16KOP5s9//nN+8IMfJFkeLHXo0CEvvPBCpk6dmsmTJzc7dtlll3z/+9/P1KlTV9pj6+c//3l5P6dSqZS//e1vuffee5udK5VKOf/881eqo0uXLtlpp53KSyK7du2a5557Lh/4wAfSpUuX8jF37txySNiSb3zjG+U9vFZser7CKaeckpkzZ+bGG29MsjzMe3OoOX78+Dz00EPlDdK//vWvp3///pkzZ07++te/plQqlQOtBx54oPw+v3mD+wULFuSggw7K+973vnzyk59cqb4HHnggJ510Up544olm4WdLXnzxxUyePDnf//73c/nll+erX/1qXnnlldx777254IILMnv27GbLWgGAtWP5HgBsoLp165Yk5WVR/fr1S7t27XLEEUfky1/+cr7zne+UNzdfvHhxNttss/Ts2XO192xoaMh///d/58QTT2x2fsXePqVSqRxMTZs2LR/60Icyc+bMJMtnzbz00kt5/fXXU11dnW222SYzZszIE088kX322SelUik/+clPmt33qaeeSvv27VdaSvXyyy9n9uzZufrqq/PBD34wzz33XPn1ly5dmn79+jXryy677LLSkrZtt902Rx99dM4555y3fS9fffXV/Pd//3ezzeA333zzPP3003nf+9632ucOHTo0L774YqZOnZpvf/vbmT59et73vvelY8eOLS4RW7BgQc4666x8+9vfzrHHHlvex+qiiy7KtGnTcsUVV6R79+656aab0r59+3zuc5/LH//4xwwePDjJ8o3dr7/++tx9992r/Xr+5S9/ydy5c1daFjlr1qzVBm3dunUrL4t768y2rbbaKvvvv3+uueaaHH744Vm8eHF52d3rr7+ek08+OUcddVQ59OrVq1eefvrp1e4p9eZN219//fUcdNBBeeWVV3LHHXfk2GOPbXbt008/neeeey533nlnbrrpptxwww3lAKwlRxxxRI444og0NTWlsbExP/3pT/OjH/0ov/3tb/Pcc8+VPxUSAHhnhFIAsIF76aWXsummm5b/8D/ttNOy5ZZbNpvBsnDhwnTu3DmLFi1aae+eFVbMYrniiitW+mP98ccfzz777JPGxsbyHlLTp09Px44ds+mmmyZJJkyYkAkTJuSzn/1sfv/73+epp57Kpz/96Xz1q1/NbbfdlptvvjlXX311s/t+9KMfTUNDw0rhzYoQ7KSTTmrWtiKUuuaaa/Jf//Vf7+TtatHUqVNz2GGHNdujaNmyZbn99tvzi1/84m2f/+b3escdd8zSpUsze/bsXHfddRkxYkSzaz/4wQ/ma1/72kqbyf/xj3/MRz7ykSTLZ1vV1NRkn332yYgRI3LiiSdm0qRJqaqqysknn5ybbropn/jEJ3LfffeVw8k3K5VKOfvsszNw4MC8//3vb9b20ksvvatPnRs9enQ51Fq4cGH59Xv16pXDDjssF1xwQZ544ony9WuzyXl1dXXat2+fG2+8scWNy3/84x9n7733zjbbbJMTTjghF198cY455piVZpy91YQJE3Luuefmc5/7XC655JJsv/32bzsrEAB4e5bvAcAGbsaMGXnllVfKS8+qqqpy2GGH5XOf+1z58YIFC/Le9743e+65Z/l5TU1Nqa2tzYwZM9LY2JgFCxakqakpJ5xwQjbaaKNmxz777JOk+d5LkyZNytKlS/PTn/40ixYtynHHHZfGxsbceOONefrpp/ORj3wk3bt3z4UXXpgBAwZk3rx5GTJkSBYuXFi+x7x58zJ//vy88cYbzY4XXnghSXL33Xc3O19bW5vFixev00BqypQpmTNnTj7+8Y83Oz9+/Pg0NTXlU5/61Du67xtvvJFzzjknl19++dteO2fOnPzpT3/KwQcfnCTNZlmdddZZueuuu1JVVZXJkyfnT3/6U2699da88cYbOeGEE1a619KlS3PkkUfmL3/5Sy677LJmbaVSKc8///xqZ0rV1dVl1qxZmTVrVosbru+8887p2rVrkuUzm94cio0bNy5bbrllOVRcW927d899992Xvfbaq1zvClOmTMmECRPKSzCHDx+eBQsWrLQnVpLypzOucNBBB+X888/Pc889l6FDh+ZjH/vYSvtyvXUTfgDg7ZkpBQAbuIMOOiiLFy9usa1UKuXee+/NF77whbzyyivlP/KnTZuW4447LoMHD87AgQNz4IEHZpdddsk111yTbbfdNl26dEnHjh3Ls6fq6+uzaNGi3Hvvvdlpp53ynve8J3/84x9z4oknZsmSJRk/fnx69eqV888/v7zJ9e67755TTz01U6dOTZcuXTJq1Kg8/vjjmTBhQo466qhVzthaG/Pnz88///nPFpfKvXmj8zdraGhIu3btsvPOOydZPvvmgx/8YN7znveUr5k5c2bOOuusjBgxIhtttFH5fH19/SrDi4aGhmZhyHvf+96MGjUqzzzzTJLlSxVnzJiRF154odmeW8nyT0wcMGBAPvCBDyRZvqTtxRdfzEc+8pHU1NRks802S5Jcdtllue222/Kvf/0rt956a7Olb8ny/Za+/e1vZ9KkSbn++uvLS/5mz56dsWPH5m9/+1vmzJlTPv9WjY2NueSSS3LJJZesdL4lkydPLgdpyf+bFbUi8Fm6dGnatWtXnlX35llTc+bMyaxZs1IqlVJfX59+/fqlQ4cOza5ZtmxZGhoasnTp0hx11FHZfffd87nPfS5J0rNnz1x44YU54YQT0rNnz1x00UXl74GGhoa88cYbzT4Fct99982+++6bl156KVOmTMlrr71Wbquvr1/lJvwAwKoJpQBgA7fiE+HeasmSJdluu+0ye/bsnHzyyc2CkHvuuSd9+/bNT3/60yTL99657rrr8oc//CF///vfM2fOnMyfP79ZCNOuXbu0b98+Tz75ZObOnZvnn38+EyZMyE477ZSvf/3rufPOO/PAAw/kqquuyqxZs/L666/nN7/5TbN7VFdXZ7PNNstJJ53UYl+mT5+eJ554Is8++2ySpH379qvt+5NPPplhw4alY8eO5WWFb3bNNdfkmmuuKT9esfxv5513zhNPPFEORN462+b8889Pnz59MnLkyGbnFy9e3OIn3614v5Pmm3+/eb+jq666KuPGjcunPvWplWZlHXfccRk6dGj58eDBg3PkkUfmuOOOKy8zK5VK6dq1a6644opUV1eXQ7UV/v73v+eQQw7JTjvtlMcff7zZXlhbbrllbr311rRr1y7jxo0rz0R6q/r6+nzve98r78M1Y8aM9O/fv9kMuSuvvDJ/+tOfMmXKlDz77LO56qqrVrrPm0Op2tra7LLLLunUqVM5cOrevXuOOeaYJMtnKNXX12fKlCnZbrvtmt2noaEhdXV1OeSQQ/LMM8/k8ccfb7bs7vjjj88999yTMWPGZKuttsrpp5+eZHmI9p3vfCff+c53WuxnSz70oQ+t8bUAwHJVpXc6PxoAaPMee+yxbLLJJtl+++3X+b1ra2tXmvHzbr366qvZeuut07lz53zsYx/L9ddf32y/pvXlzRu4J8tDjX//+9/lGUrrwuLFi1eaLbSuzZw5M1tvvfU73i/pzjvvzFZbbZXddtstyfKQ6q9//Wv22GOP8sy2Bx54IBdddFEGDRqUI444ovzJiuvDxz72sXTq1Ck777xztttuuxbDzKVLl2bs2LHNAsABAwZkxIgRq90E/c2GDRuW3XbbLWPGjFlntQPAhkAoBQC0KXV1dS1u3g1ratasWenevXt57ysAYP0QSgEAAABQOJ++BwAAAEDhhFIAAAAAFE4oBQAAAEDhVv7s4zaqqakpL7/8crp27fqOP1EGAAAAgNUrlUqZP39+ttpqq9V+cvAGE0q9/PLL6du3b6XLAAAAANggzJw5M1tvvfUq2zeYUGrFR/rOnDnTx0QDAAAArCd1dXXp27dvOYtZlQ0mlFqxZK9bt25CKQAAAID17O22T7LROQAAAACFE0oBAAAAUDihFAAAAACFE0oBAAAAUDihFAAAAACFE0oBAAAAUDihFAAAAACFE0oBAAAAUDihFAAAAACFE0oBAAAAUDihFAAAAACFE0oBAAAAUDihFAAAAACFE0oBAAAAUDihFAAAAACFE0oBAAAAUDihFAAAAACFE0oBAAAAUDihFAAAAACFE0oBAAAAUDihFAAAAACFq6l0AQAAAADry+hJcytdwho7Y/felS6hUGZKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFA4oRQAAAAAhRNKAQAAAFC4ioVSV199dfr165cuXbpk2LBhmTFjRpJk8uTJGTRoUHr27JmRI0emVCqVn7O6NgAAAABaj4qEUi+88ELOOuus/P73v8+UKVOyzTbb5Oijj059fX0OOuigDBw4MBMnTsyUKVMyfvz4JFltGwAAAACtS0VCqUmTJmXw4MHZY4890q9fvxxzzDH5xz/+kTvuuCO1tbUZM2ZMtttuu4waNSpXXnllkqy2rSX19fWpq6trdgAAAADwn6EiodTOO++c++67L5MmTUptbW3+93//N5/4xCfy9NNPZ/DgwencuXOSZLfddsuUKVOSZLVtLbnwwgvTvXv38tG3b9/13zEAAAAA1kjFQqlDDjkke+yxR3r06JHHHnssF198cerq6tK/f//ydVVVVamurs68efNW29aSM888M7W1teVj5syZ671fAAAAAKyZioRSjz76aG677bY89thjmT9/fr70pS9l//33T01NTTp27Njs2k6dOmXRokWrbWtJx44d061bt2YHAAAAAP8ZKhJK3XDDDTnssMOy5557pkuXLrngggsybdq09OrVK3PmzGl27fz589OhQ4fVtgEAAADQulQklGpoaMirr75afjx//vwsXLgwNTU1efTRR8vnZ8yYkfr6+vTq1SuDBg1aZRsAAAAArUtFQqkPf/jDufnmm3PJJZfk2muvzcEHH5zNN988p556amprazNhwoQkyejRozNs2LBUV1dn6NChq2wDAAAAoHWpqcSLfvGLX8xzzz2XSy+9NLNnz86uu+6am2++Oe3bt8/YsWNz+OGHZ+TIkWlsbMyDDz64vNCamlW2AQAAANC6VJVKpVKli3irl156KRMnTsyQIUOy6aabrnHb6tTV1aV79+6pra216TkAAABsIEZPmlvpEtbYGbv3rnQJ68SaZjAVmSn1dvr06ZM+ffqsdRsAAAAArUNF9pQCAAAAYMMmlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcBUPpc4444wcdNBB5ceTJ0/OoEGD0rNnz4wcOTKlUmmN2gAAAABoPSoaSk2ePDk/+9nPcumllyZJ6uvrc9BBB2XgwIGZOHFipkyZkvHjx79tGwAAAACtS8VCqVKplOHDh+e0007LdtttlyS54447UltbmzFjxmS77bbLqFGjcuWVV75tW0vq6+tTV1fX7AAAAADgP0PFQqlf/OIXeeqpp9K/f//cfvvtWbZsWZ5++ukMHjw4nTt3TpLstttumTJlSpKstq0lF154Ybp3714++vbtu/47BQAAAMAaqUgotWDBgpx99tnZYYcdMmvWrIwZMyZDhw5NXV1d+vfvX76uqqoq1dXVmTdv3mrbWnLmmWemtra2fMycOXO99wsAAACANVORUOrmm2/OwoULc9999+U73/lO7rrrrrzxxhv55S9/mY4dOza7tlOnTlm0aFFqampW2daSjh07plu3bs0OAAAAAP4zVCSUmjVrVvbaa6/06tUrSVJTU5PddtstS5YsyZw5c5pdO3/+/HTo0CG9evVaZRsAAAAArUtFQqm+fftm8eLFzc69+OKL+dGPfpRHH320fG7GjBmpr69Pr169MmjQoFW2AQAAANC6VCSUOuCAAzJ16tRcccUVmTVrVn7yk5/kqaeeyic/+cnU1tZmwoQJSZLRo0dn2LBhqa6uztChQ1fZBgAAAEDrUlOJF+3Vq1fuvPPOnH766RkxYkS22GKLXH/99dl+++0zduzYHH744Rk5cmQaGxvz4IMPLi+0pmaVbQAAAAC0LlWlUqlU6SLe6qWXXsrEiRMzZMiQbLrppmvctjp1dXXp3r17amtrbXoOAAAAG4jRk+ZWuoQ1dsbuvStdwjqxphlMRWZKvZ0+ffqkT58+a90GAAAAQOtQkT2lAAAAANiwCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKNw7DqWamprWZR0AAAAAbEDecSh1zjnn5LjjjluXtQAAAACwgXhHodTkyZNz0UUXZeDAgeu6HgAAAAA2ADVr+4Rp06Zl//33zxFHHJFnnnkmo0aNytZbb52tt946ffv2zTbbbJMOHTqsj1oBAAAAaCPWKpS6++67c/TRR2efffbJ2LFjU1NTk8MOOyz33ntvXn755bz88stpbGzMuHHjcthhh62vmgEAAABo5dYolJo7d25OOOGEPPTQQznvvPNy0kknldvGjx/fbGbU5Zdfnp/85CdCKQAAAABWaY1CqW7dumXgwIEZP358unXrVj5fVVW10rV77rlnHn300XVXIQAAAABtTlWpVCq90ye3a9cuL7/8crbYYot1WdN6UVdXl+7du6e2trZZsAYAAAC0XaMnza10CWvsjN17V7qEdWJNM5g1/vS9m2++ObNnz17pfJ8+fdK3b9989atfzaxZs95ZtQAAAABsUNY4lBo/fnx22GGHfOc738nixYuTLF++N3v27Fx77bUplUp573vfm5tuumm9FQsAAABA27DGodStt96ae+65J/fdd1922WWXPPjggymVSuncuXM+8pGP5Gc/+1luvvnmHH300bn33nvXZ80AAAAAtHJrHEolyeDBg/PQQw9l+PDhOeCAAzJu3Lh06dKl3P6JT3wiF110UU444YTU19ev82IBAAAAaBvW6NP33qxdu3b51re+lV133TVf/OIXs++++2bAgAHl9uHDh+eJJ55IY2PjOi0UAAAAgLZjrUOpFQ444IBMmTIl/fr1a3a+Xbt2GTdu3LsuDAAAAIC2a62W773VikBq3rx566QYAAAAADYM7yqUuvXWW/Pss8+mf//+66oeAAAAADYAa7x8r3PnzunYsWOqqqrS1NSUvn37Zvjw4XnllVfSqVOnPPLIIymVSunatWt23nnnVFdXr8+6AQAAAGjF1nimVP/+/TNr1qxsueWWeemll7JkyZK0a9cuY8eOzfz583PWWWflrLPOyv77759jjjlmfdYMAAAAQCu3xqFUdXV1Nt544/J/V/j5z3+ePn365L777sv999+fK664Ir/5zW/S0NCwXgoGAAAAoPV7V3tKtWTgwIG56667UlPzjj/YDwAAAIA2bp2GUtOnT8+kSZPykY98ZF3eFgAAAIA2Zo1DqWnTpuVjH/tY+b9JUiqV0tTUlCT5zW9+k9133z333nvv+qkUAAAAgDZjjdfY3XrrrenUqVPatWuXpqamVFVV5ZFHHsnixYuzYMGCfPjDH86f/vSn7LbbbuuzXgAAAADagDUKpRoaGlJfX1+eIXXWWWfl8MMPz9e//vVUVVWlZ8+e2WqrrbLVVlut12IBAAAAaBvWKJSaOHFiDj300Bx77LH5/ve/n6lTp+ZDH/pQvvOd76R79+459dRTM3bs2CRJU1NTli5dmlNPPXW9Fg4AAABA67VGodTgwYPz9NNP58gjj8xBBx2Um266KTfddFO+9rWvZa+99sr73//+8rWNjY1ZtmzZeisYAAAAgNZvjfeUGjBgQO65554ccsghGTt2bM4444xssskmOemkk3LTTTdl0003XZ91AgAAANCGrHEolSSdOnXKbbfdlqqqqiTJ5z//+WyyySYCKQAAAADWSru1fcKKQGqFffbZp/y/Tz/99IwaNerdVwUAAABAm7ZWM6WSpLa2NtXV1Wnfvn0aGhqybNmy9OjRI1/96lfz2GOP5fbbb18fdQIAAADQhqz1TKm999473bp1S+fOndO1a9fsuOOO+de//pVZs2blwQcfzLhx4/Lcc8+tj1oBAAAAaCPWKJT697//nRNOOCGzZ89OkjQ1NaWxsTFNTU1pampKv379csstt6S6ujrTp0/Pfvvtt16LBgAAAKB1W6NQas6cOZk3b1523nnnTJ8+vVnbm/eYat++fa688sp07tx53VYJAAAAQJuyRqHUTjvtlN/85jeZPn16Nttss5XaGxsbc+yxx+bcc89dftN2a70qEAAAAIANyFqlRz169EiXLl2anSuVSvnBD36Qjh075qyzzkqy8if0AQAAAMCbrfGn7y1dujS//vWvUyqVmp2vqqrKyJEj0759+yTLQ6ra2tp1WyUAAAAAbcoahVJvvPFG9t9//3Tq1CkLFy5cqf3VV1/Nrrvumo022ij19fXZcsst13mhAAAAALQdaxRKde7cOUcddVT++7//O+9///tz7LHHJkl51tRWW22VZ599NhtttFE6dOiQjTfeeP1VDAAAAECrt0ahVIcOHTJ8+PAkyTnnnJOFCxemffv2WbZsWT7+8Y9n4cKF2W+//fKpT30qhxxySAYPHrxeiwYAAACgdVvjPaVW+K//+q8Wz//qV7/KHXfckS9/+cs555xz8pWvfOVdFwcAAABA27TWodSq7LHHHtljjz3y7W9/O01NTevqtgAAAAC0Qe3W9Q2rqqpSXV29rm8LAAAAQBuyzkMpAAAAAHg7QikAAAAACieUAgAAAKBwQikAAAAACieUAgAAAKBwQikAAAAACieUAgAAAKBwFQ+l9ttvv4wfPz5JMnny5AwaNCg9e/bMyJEjUyqVytetrg0AAACA1qWiodSvf/3r/PGPf0yS1NfX56CDDsrAgQMzceLETJkypRxWra4NAAAAgNanYqHU66+/ntNPPz077rhjkuSOO+5IbW1txowZk+222y6jRo3KlVde+bZtAAAAALQ+NZV64dNPPz2f+9znsnjx4iTJ008/ncGDB6dz585Jkt122y1Tpkx527ZVqa+vT319fflxXV3d+ugGAAAAAO9ARWZK3X///bn33nvzgx/8oHyurq4u/fv3Lz+uqqpKdXV15s2bt9q2VbnwwgvTvXv38tG3b9/10xkAAAAA1lrh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/mipb21tDFIRJTZ4c+bMKQ0ePLiUpDR9+vRKl7POPP/886WePXuWbrjhhtIrr7xS+sIXvlAaMmRIpct61+bNm1fq3bt36ZlnnimVSqXShAkTSv369atwVevWNddcU0pSuuqqqypdyjrxoQ99qPSHP/yhNG/evNK8efNKdXV1lS5pnXrmmWdKXbt2LT3//POVLmWdqK+vL3+t5s2bV5o5c2apd+/epRdeeKHSpb0rzz//fKlv376lJ554ovTiiy+Wjj322NI+++xT6bLetbvvvrvUpUuX0l133VWaMWNGaf/99y/tvffelS7rHWvpd/KSJUtK2267bWn48OGl559/vrT//vuXfvnLX1a20LW0qrFGax+DtFR/Wxh/tNSvtjL+eLvvudY6BllVv1r7GGR1X6/WPP5oqV9tYfyxqp+JbWH80VLf2toYpFLMlCKHHXZYDjvssEqXsc5NnTo1o0aNyqGHHprNN988J510UiZOnFjpst61+fPn59JLL82uu+6aJHn/+9+fefPmVbiqdef111/P6aefnh133LHSpawTDQ0NmTx5coYOHZoePXqkR48e6dq1a6XLWmdKpVKGDx+e0047Ldttt12ly1knOnToUP5a9ejRIxMmTMjnP//5DBgwoNKlvSuTJk3K4MGDs8cee6Rfv3455phj8o9//KPSZb1rEyZMyPHHH59PfOIT2WabbfLDH/4wDz/8cP79739XurR3pKXfyXfccUdqa2szZsyYbLfddhk1alSuvPLKClX4zqxqrNHaxyAt1d8Wxh8t9autjD9W9z3XmscgLfWrLYxBVvX1au3jj5b61RbGHy31q62MP1rqW1sbg1RMpVMxKm9F+p5W+q+Ua+ryyy8v7bzzzpUuY51aunRp6Stf+UrpqKOOqnQp68zRRx9dOvHEE0tHHXVUq/tXypY88cQTpS5dupS22267UqdOnUqf+tSnSi+++GKly1pnfv7zn5c6d+5c+uUvf1m67bbbSkuXLq10SevU4sWLS5tttlmb+Nn47LPPljbZZJPSk08+WXrjjTdKhx12WOnII4+sdFnv2qc//enSmDFjyo///ve/l5KU3njjjQpW9c619Dv5nHPOKX36058uX9PU1FTq2bNnJcp7x1Y11mjtY5A1qb81jj/erl+tefyxur615jFIS/1qC2OQVX29Wvv44+3+P9Zaxx8t9autjD9a6ltbG4NUiplStKr0/Z1aunRpLr744px88smVLmWdefrpp7P55pvnrrvuyqWXXlrpctaJ+++/P/fee29+8IMfVLqUdWbq1KnZZZddct1112XKlClp3759hg8fXumy1okFCxbk7LPPzg477JBZs2ZlzJgxGTp0aJYsWVLp0taZa6+9NoMHD862225b6VLetZ133jmHHHJI9thjj/To0SOPPfZYLr744kqX9a594AMfyK233lreY+mqq67Knnvume7du1e4snempd/JdXV16d+/f/lxVVVVqqurW9UslVWNNVr7GOTt6m+t44/V9au1jz9W1bfWPgZpqV9tYQzSUr/awvjj7X52tNbxR0v9aivjj5b61tbGIJUilGKDcPbZZ6dLly454YQTKl3KOrPbbrvl3nvvzS677JJjjjmm0uW8a0uWLMnw4cNz+eWXp1u3bpUuZ5358pe/nEcffTSDBg1K//79c9lll+Wuu+5KXV1dpUt7126++eYsXLgw9913X77zne/krrvuyhtvvJEJEyZUurR15oorrsiJJ55Y6TLWiUcffTS33XZbHnvsscyfPz9f+tKXsv/++7fKDbPf7Jvf/GaWLl2agQMHZsiQIfnBD36Qr33ta5Uua52qqalJx44dm53r1KlTFi1aVKGKWFPGH62DMUjrYvzRurTV8UeyYYxBiiCUos27++67c8UVV+Taa69N+/btK13OOlNVVZXdd98948ePzy233NKq/sW8Jeeff34GDRqUAw44oNKlrFc9evRIU1NTZs+eXelS3rVZs2Zlr732Sq9evZIs/8N5t912y/Tp0ytc2brx/PPP5/nnn8+wYcMqXco6ccMNN+Swww7LnnvumS5duuSCCy7ItGnT8vTTT1e6tHelV69e+fOf/5wbb7wxu+22W3baaaccfvjhlS5rnerVq1fmzJnT7Nz8+fPToUOHClXEmjD+aD2MQVoX44/Wpa2OP5INYwxSBKEUbdq0adPy5S9/OZdffnl23nnnSpezTtx3330ZOXJk+XFNTU2SpF271v1/52uvvTa33HJLeXPHa6+9NieffHKrW/LwViNGjMiNN95YfvzXv/417dq1S9++fStY1brRt2/fLF68uNm5F198Mdtss02FKlq3brzxxhx44IFt5o/JhoaGvPrqq+XH8+fPz8KFC9PY2FjBqtadrbbaKjfffHMuvPDCVFdXV7qcdWrQoEF59NFHy49nzJiR+vr68h9k/Ocx/mhdjEFaF+OP1qWtjz+Stj0GKUJNpQuA9WXx4sU58MADc/DBB+ezn/1sFixYkCTZeOONU1VVVeHq3rmddtopBx98cHbYYYd8+tOfztlnn51PfvKTrX7t8kMPPZSGhoby429+85sZPHhwjj766MoVtQ584AMfyFlnnZUtttgiDQ0NOeWUU3L00Uenc+fOlS7tXTvggANyyimn5IorrsiBBx6Ym2++OU899VT222+/Spe2Ttx5551tZmlKknz4wx/Osccem0suuSSbb755xo0bl8033zy77bZbpUtbJ37605+Wfz62NUOHDk1tbW0mTJiQI488MqNHj86wYcMMfP9DGX+0PsYgrYvxR+vS1scfSdsegxSisvus858krfSTb1bld7/7XSnJSkdb6OOdd95Zeu9731vq2rVr6ZBDDim99tprlS5pnWuNn3yzKmeccUapR48epb59+5ZOPfXU0oIFCypd0jrzyCOPlIYMGVLaaKONSv379y/97ne/q3RJ68SiRYtKHTp0KE2dOrXSpawzTU1NpXPOOafUr1+/Uvv27Uu77757aeLEiZUua52YN29eqVevXqXHH3+80qWsM2/9ffW73/2utNFGG5U222yz0iabbFKaPHly5Yp7F1b1e7i1/35+c/1tafzx1rrb0vhjdV+T1jwGeWu/2soY5K39aivjj7f2q62MP97cr7Y2/njr16wtjkGKVlUqtYEdxgAA2riXXnopEydOzJAhQ7LppptWuhwAgHdNKAUAAABA4Vr/zoQAAAAAtDpCKQAAAAAKJ5QCAAAAoHBCKQAAAAAKJ5QCAFhHGhsbs3Tp0mbnSqVSlixZ8q7v3dI9mpqact9992Xx4sXv+v4AAEUTSgEAvANHHnlkNttss2y//fbp379/evfuncceeywDBgzIgAEDUl1dnf79+6d///7Zb7/9ys/bbrvtssUWW2Tbbbdt8ejSpUu++c1vrvR6n/rUp3LZZZc1O1cqlfKFL3whDzzwwCrrvOuuu9KpU6dsv/32Kx29evXKaaedtq7eEgCAtVJT6QIAAFqj9u3bZ9SoUTn++OPzyiuvZI899siQIUMya9asNDY2pmvXrnnhhRfSrl3zfwPs0KFDfv7zn2fYsGEt3veII45I+/btm52bNWtWnnnmmdx0001JkiuuuCLjxo1LkixdujQnnHBCNt988yTJpZdemr333rvZ6+26666ZOHHiSq91zjnnZNGiRe/8TQAAeBeEUgAA70BNTU3OOOOMXHDBBWlsbCwHSX/6058ya9asdOnSJXfddVeSZNCgQdlkk02SZKWQqiVvDaWuuOKKjBgxIsuWLcvcuXPz+uuv58ADD8w555zT7LpDDjlkpeWD1dXVq1xC2NDQkFKptMZ9BgBYl4RSAADvQENDQ0aPHt1splSSnHjiidlrr71y6KGH5vbbb8/vfve73HTTTeVQqqqq6m3v/ebg6plnnsl1112Xp59+Ot/61rdSW1ub97znPRk7dmxuv/32Zs+bNm1ajj322GbnampqUltbm1133bXF1zr66KPXptsAAOuMUAoA4B1oamrKueeem0svvTSNjY1pampKsnyW0/nnn58///nP+eAHP5jJkydno402avbco446aqVzK7z66qs5/fTTy48feOCBdOrUKR//+Mczffr0TJkyJeeff35OP/30Ztetyoc+9KE8//zz76KnAADrh1AKAGAtNTU15ec//3k6dOhQPtfQ0JCGhobyTKhf/vKX5eDprUv2fvWrX612T6k3O+WUU3LKKafkC1/4QkaMGJHevXvntddeyy233JLrrrtupee/733vy1VXXZXzzjsvP/7xj7PxxhunqqoqixYtysYbb9ziay5ZsiR77LFH/u///m/N3wQAgHfJp+8BAKyliRMnZscdd8x73/vebLbZZtlyyy2z884757LLLktjY2OSZOHChdlmm22SLA+s3o1bb701NTU1+eIXv5gkeeqpp9KjR4/8/ve/T5cuXcr/HTduXKZPn54k+e53v5t///vf+de//pVf//rX6datW2bMmNHi8corrwikAIDCmSkFALCW9txzz1xzzTXZdttt84tf/CK9e/fO1772tSTLNyVftmxZ/vGPf2SHHXZIhw4dsmDBgmbPX5vle88880yOPPLIbLnllundu3fOOeec/Pvf/85WW23V4vNralYe3j3wwAMZOnToO+0uAMB6UVXykSsAAGvtYx/7WL71rW/lkUceyU9+8pO0b98+Dz30UJ566qn84x//yOTJk/P5z38+Q4cOzRZbbFF+3q677ppLL710tcv3tt9++/In673yyisZM2ZMPvnJT2annXbKaaedll122SU//OEPs8MOO2TatGkZMGBApk2bln79+mXLLbfMPffc0+yeX/jCF3L//fev9FpLlizJDjvskEmTJq27NwYAYA1ZvgcA8A78/e9/z2233ZYlS5bkvPPOy6uvvpr+/fvn+eefz9ixYzNmzJi8+OKL+eAHP5gnn3zyHb/OFltskYsuuij9+/fP9ddfn7333jtHHXVU3vOe9+T222/PwIED8/vf/z7vf//78+tf/7rFe/zmN7/J3LlzVzpGjBiR3Xff/R3XBgDwbli+BwCwlqZNm5bGxsYMHDgwZ5xxRoYMGZLtttsu2223XWbMmJGHHnooW265ZU466aTsvPPOeeONNzJv3rz07NkzjY2NOeKII9KpU6cW7z137tx84xvfKD++8MILM27cuHTr1i3Dhg3LySefXF6it2zZsixdujT19fWpr69PqVRaaVP1t/rnP/+ZZcuWZdGiRbnxxhvz9a9/fd29MQAAa0EoBQCwlh588MF8/vOfzzHHHJNDDz00v/3tb3PddddlypQpmT17dm688cYsXrw4jY2NadeuXdq3b1/egLx9+/a5/vrrs++++7Z47yOOOCJLliwpP/7Upz6Vz372s9l5553L5yZPnpwk6dOnT66++ur069cvV199dY4++uh86UtfWm3tl112WS677LJsscUW2XPPPd/2egCA9cWeUgAA78DChQuz8cYbV7qMZpYtW5b27duv9pqGhoa0a9fubWdUAQCsb0IpAAAAAArnn8gAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDCCaUAAAAAKJxQCgAAAIDC/X9gQaqcmRViagAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKYAAAJOCAYAAACN2Q8zAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABWGElEQVR4nO3de5gXdd0//ueyJ0COhiYKiYq3B5QOhpmmlie0ALHbzGNpcXd7qDyXGGjeGWKhoZUHjFtTKU916zdIsdRMS1Q8JUkKGoqmCQgsx2V32d8fXnx+brAr4MIs9nhc11wyM+/3zGtmZwd9OvOessbGxsYAAAAAwEbWrugCAAAAAPj3JJgCAAAAoBCCKQAAAAAKIZgCAAAAoBCCKQAAAAAKIZgCAAAAoBCCKQAAAAAKIZgCAAAAoBCCKQCgVdx7772ZOHFiGhsb3/O2nn322axYsaIVqlp7V199dR5//PH3tI25c+eu8fj/+c9/Zvny5S32feyxxzJz5sw1rvvTn/6UT33qU5kxY8Z61TVv3rxMnjw5ixYtSl1dXV577bV16n/xxRfnwgsvXOv2jzzySH7zm9+scd1TTz2Vu+++e62289e//jXz5s1rsuy2227LiSeemIULF651PQBA2yWYAgBaxbe//e2MHz8+ZWVlzbZpaGjI0qVLW9zOggULst9+++Xoo49e631XVFSkrKxsrabmApOf/OQneeKJJ0rzf/3rX/PSSy/l1VdfbTK9/PLLeeGFF9a4jXPOOSef/OQnV1v+4x//OH369Gnx2M8+++wcfvjhWbRo0Wrr6uvr86c//SmVlZXvdirWaNasWTn00EMzc+bM/PjHP87HPvaxPPbYY2vdv7GxMT/60Y+a1F9fX59FixZl5cqVq7WfMGFCRo0atcZtXXvttfnSl76Uurq6d93vHnvskdtvv73JshdeeCG//OUv06FDhwwfPjwvvvhik/WvvPLKWl8L75wmTpy4NqcCAGhlgikA4D276aab8vTTT+fOO+9s8T/+Kyoqstlmm7X49NCIESOyePHiPPTQQ3n55ZfXav/V1dW55pprsmjRomanv/71r0nSbLjTvn37VFdXl+b32Wef7LDDDundu3eTqU+fPjnkkEPWuI1p06bloIMOWm357373uwwaNCgdO3Zs9hh++ctfZs6cOTn++ONXe+qqoqIiSdK1a9eWT0QzNttssyRJVVVVTj/99BxyyCE56KCD8re//W21Gtb0c7vggguyaNGibLbZZqVllZWV6dKlyxpDun89l+/0X//1X+nXr98an9p64YUXctttt5Xmq6qqVttOhw4d0qNHj1RVVWXp0qXZd999m9Sw6lw98cQTWbZsWZYtW5bFixdn5MiRmTVrVmnZO6fy8vJm6wUANqyKogsAADZt//znP3P22WfnJz/5Sb785S+32LahoSHLly9P+/bt17h+4sSJueqqq/KrX/0q48aNyxFHHJEHH3wwnTt3bnG77dq1S3V1dTp16tRsm1Wh0Krg4l+tClxWef7559O5c+cmYVJDQ0MWLVqU2traJn1ff/31NDQ0ZPr06bngggvy6quvJkm22WabzJw5M4899lg+/elP5+abby712WqrrZqEWL169cq4ceNy5ZVXZunSpaUwadXxJW+HMi2ZOXNm6uvrV1u+KgR68cUXU15ennPOOSedO3dOTU1N6uvrS+eksrIyXbt2zRtvvJHk7aBo1KhR+fGPf1z6Gdx444158sknM2bMmNTW1qZbt26l/SxevLhJwFNXV5e6urr8+te/zsMPP1zaz2677ZYxY8aksbExtbW1+dznPpcjjjgizz77bE444YRstdVW2W+//dKuXbvVnsCrrKwsbeeKK67IokWLMnHixJx11llJ/v+fb1VVVek6+9nPfpaLL744e+65Zz74wQ+WtlVVVVU6t+Xl5S2eWwBgwxBMAQDrra6uLkcddVT23nvvfPWrX11jKPJO7du3b/apnyeeeCLHHXdcvv71r+eII47Ivvvum49//OPZf//989vf/jZbbbVVs9tdl1DhncHUE088kXPPPTdVVVWZOXNmfvSjH2XChAkZNGhQTj/99DXu551BzCp77LFHXn/99STJ4YcfXlq+YsWKXH/99enSpUvuu+++3HfffUmSf/zjH9l9991Xe7pq6NChGTJkSP74xz/myCOPTGVlZcrLy0vjbfXt2zfJ2wFZfX19/ud//iennHJKqf++++6bhQsXpqqqao3Hfuyxx6aioiKNjY1paGjIuHHj8sYbb6RHjx5J3g7AVk3J2z/fW2+9NePGjSuFPG+88UamTZuWzTbbrMm5rK+vXy1ArKqqyk477ZTLL78822+/fSorK/Piiy/m6quvzmWXXZaVK1dm2bJlpXP6n//5nxk5cmSOPvroPP/886XtLF26NNXV1SkvL18tQLzuuuuyYsWKrFy5Mu3atVvtibjXX389w4cPT2NjYwYPHlxavsUWW2TmzJnp0qVL6dgBgI1PMAUArJeVK1fmqKOOyvz58zNx4sQcddRRzY7ftMq3vvWtXHrppastnzx5co4++ugccsgh+dGPfpTx48dn5513zgMPPJDPfOYzGTBgQK666qomwcK/Oumkk3LSSSet0zH07NkzJ598cv7xj39k8uTJOfDAA7PffvuloqIiM2fObPbpqvr6+rRv3z69evVK8varhNdff31OPPHEJMkf/vCHHHDAAVm2bFmuu+66jB49ukmANHLkyPzlL38pzS9ZsiRVVVUpLy9Pu3btsssuu+S6664rPdFz11135de//nWuu+66JG+f+7q6uvTr169JXe3atcuVV16ZYcOGrVZz165dc9NNN2XIkCGlY1jT8a3axrnnnltav+WWW5bWNzQ0pKGhIVVVVamvr88jjzySvfbaKxUVFXn99ddTXV2d/v37p0+fPrnrrrvS0NCQLbbYIp/97GdL5+aaa67JGWecscZz+53vfCf9+vVrEnLtuuuuq73W+a9PUj377LPZbbfdmixftmxZvvjFL2bu3Lm57rrrMmzYsLzyyiv5yEc+kmuuuaYUSgEAxfG/hgCA9dKuXbucddZZmThxYjp37pz58+fn1ltvTWNjY4YOHZrTTz89ixYtSmNjYxobGzNkyJD07NmzyTbmz5+f0047LZ/97GczePDg/OIXv0h5eXm+973vZdKkSdluu+3y0EMPpVevXhkyZEg++9nP5u67717jgNtrO8bUO2299dY56qijSq/r7b777vnUpz6VO++8MzvuuGN22mmn7Lzzzunbt2922GGH7Lzzztl5553zH//xHznnnHNK21nTE1vt2rXL//zP/2TzzTfPV7/61Sbr6urqmrzOuNNOO5WCqW9961v54Ac/mCOOOCKf+9zncthhh2X58uXZY489cthhh+Wwww7L5z73uQwdOjQ77rjjavtcuXJl6uvrS9Oqc7XFFlvkH//4R5K3x8Laeeed8+ijjzbpv3LlylRUVOSMM85IQ0NDaf3cuXOzfPnyLF++PBdeeGH222+/1NXVpb6+PnvuuWep/1ZbbZU333wzr776asrLyzNv3rxsscUWq52blpSVleWII45IktJYW/fee29efPHFzJ49uxTwPfnkk5k9e3ZeeeWVTJ8+vfQ02Tv96Ec/yhtvvJFJkyblnHPOyahRo3LooYfm9NNPz+c///l1qgsA2DAEUwDAettzzz2z9dZbJ3n79bRVfx4/fnxeeeWVXHjhhaW2CxcuTI8ePVJbW5vly5fn5ptvTp8+fTJ+/Pj88Ic/zI033lh6Datr166lP/fu3TsPPfRQLrjggvzhD3/IZz/72fz2t79drZZVY0w1N7U08PiqAbcvueSSHHnkkbnyyiuzcuXKUq0nnnhiTjjhhFI4s3LlykyYMOFdz8/ZZ5+dCRMm5PTTT8/vf//70vIVK1Y0GYvp4Ycfzssvv5z+/fuvNv5WfX197r///nzqU5/Kr3/968yZM6fZ/bVr1y7//d//ncrKytL0zW9+M0my/fbbl546+t///d8sWLBgtTBn2bJlqaqqSkVFRdq1a5eGhoYkbz/RtXjx4ixevLj02lyS0hNe73TTTTclSV566aXssssuefjhh9PY2Jg33ngj8+fPz+LFi5O8/fXFefPm5bXXXivt552uuuqq1NTUJEn+4z/+I9tvv3169eqVefPmJXn7euvVq1d69+6dnXfeeY3jlp133nl5+OGHs+++++awww7Ld77znSxZsqTJ65YAQLEEUwDAejv99NNTWVmZsrKyvPTSS9l3331TVlaWD3zgA/m///u/XH755aUxgR588MGccMIJad++fU4++eQMGTIkRx55ZJ599tnSwNWrrNrmKhUVFbnooovy4osv5qqrrsqgQYNa7Rj++te/5g9/+EM233zzHHvssXn00Ufz//7f/0tNTc0aQ6BVX7L716ekTjrppNKxfuYzn0ny9quCH//4x7NgwYJcdNFFpbb/+sRUnz598qEPfSiVlZWrBT0333xz3njjjRx77LE566yz8tnPfrYU7vyrFStW5Ac/+EFmzJiRGTNm5GMf+1jpNbzddtstjz32WN56663ccMMNOf/88/OBD3ygSf9ly5ale/fupfmlS5cmeftJqM6dO6dz58753ve+t9rg76ssWLAgP/3pT7PLLrtk++23zz777JMzzjgjCxYsSM+ePfOBD3wghx9+eBoaGtKjR49sscUW6dWrV2l8rlUeeuihnHvuuWt8Eu0vf/lLNttsszz44INrrGGVlStX5vbbb8/IkSOz7bbb5s0338yDDz6YI444Ip/4xCfysY99LKeffnpeeumlFrcDAGxYgikAYL394Ac/yIIFCzJ//vwkyd///vfMnz8/e+yxR2699dYmr9L16dMnd999d956661cccUV6dKlS8aPH7/a62gt6dmzZ5Oxmt7pncHQmqbttttutT6NjY05++yzc/jhh2e77bZLnz59cuaZZ6a8vDzjx49Pnz59Mnfu3FL7SZMmpV+/fvnTn/602rYuv/zyzJ49O7Nnzy49gbXKGWeckYcffjh//vOfkyS1tbVNnphqziuvvJLzzjsvX/nKV7Lddttl0qRJeeGFF3LkkUemrq5utfZLlizJdtttl759+6Zv376pr68vvUr3yU9+Mo899lhGjhyZzp0757TTTlut/8KFC9OzZ880Njbmn//8Zz784Q+v8bXI++67rxRa/etxbrnlljnssMOSJOeff366du2adu3alZ60uu+++1JeXl56zXDZsmXZZpttStuYPn16jjjiiHz3u99d7SuLr7/+ep5//vmccsopueeee1o8d+3atcuf/vSn1NfX5//9v/+Xz3zmMzn11FPTt2/fPPXUUzn22GPz0ksvNdk3ALDxCaYAgPXWpUuXdO3aNXV1dSkvL8+HPvShdOvWLccff3yOO+64XH755aVX6ZYtW5Ytt9wy3bt3b/bLfO/F+owx9f3vfz9/+tOfMnr06NKyUaNG5Qtf+EImTJiQL37xi6Uv1iXJYYcdlj333DMnnXRSli9f3mRb3bt3T69evdKrV6/VxlX6xCc+kd133z0333xzkrefTGrp1cLk7a/fDR48OF26dCkNGN+vX7/cdttt+f3vf5+TTz65SfslS5Zk0aJFTQb0Xrx4cTbffPMkyQEHHJDly5fnqquuyhVXXLHGYOzVV19Nz549s3DhwvTu3TvbbLNNunbtmj59+pSm3r17p3Pnzvn+97/fpO8999yTn//85xkxYkTpabeBAwfm97//fZNXM/9V+/btS+2ffvrpHHDAAfnkJz/ZZAyvVW677bZst912Oe200zJt2rQ8++yzLZ7DK6+8MuPHj8/ee++dr3/96/nKV76SH/7wh/nRj36Uc845J7/5zW/WKiAEADYcwRQA8J699tpr2WKLLUqvoZ1xxhm5+eab079//1KbJUuWpGPHjmt80qY1rM8YU4cffniuv/761Z7a+v3vf5+nnnpqtXCkXbt2ufbaazNz5sxcfPHF61Tfz3/+84wdOzbJ2+diTV+Ea2xszOLFi/PPf/4zAwYMyLx583L33Xc3CfIGDhyY733ve/nf//3f3HXXXaXlTz75ZJKUjmXlypV54403Sq/rLVu2LJtttll23nnnDB06NMnbQdQ7zZgxI9tss026deuWFStW5O9//3t69OiRG2+8MXPnzs3cuXNz5JFH5iMf+UguuOCCJn3333//fP7zn8/xxx/fZPm/fj2vJZWVlendu3duvPHG1fo1NDTkJz/5SY477rj06dMnhxxySJPXI1vy1a9+NQcffHBqa2tzzz335Ic//OFa1wQAbFhr/gYyAMA6mDVrVt544413DSF22WWX9OvXL9OmTWvV/a/6etu62n333bP77rs32UZ9fX2+8Y1vZNCgQdl1111X237//v1zxBFH5LXXXmuyrfnz55eCnjWNTfXRj3609Oe33nprtWDq+9//fp555pk8++yz2XbbbfPtb387hx9+eHr37r3ats4777x86EMfypAhQ0rL/vjHP6Z79+7p3bt3vvOd7+S5557L0qVL07dv37zyyisZOHBgtt9++0ybNi3/93//lyOOOCKnnHJKttlmm1xzzTWpr6/Pww8/3ORVyS233DLXXnttTjjhhEycODF/+MMf8pvf/CaPPPLIak8adejQIbfffnvKysrW++fRr1+/TJkypRRwvnM748ePz+zZs0tPip1//vnZf//9c+ONN+ZLX/pSqd2aBlIfOXJk7rrrrtx88805//zzM2zYsFx33XVN2qzpS48AwIYnmAIA3rPBgwdn2bJla1zX2NiY++67L1/4whfyxhtvrFVo0dDQsE5BQX19fU466aScdNJJ79p2TWMzJW8PHL5ixYpUVFTk1ltvTceOHfPoo4/mt7/9be69994ceeSRpba33XZbk4G5GxoactZZZ602iHtz+3/++edLg4w3NDTk1FNPzW233Zannnoq7dq1y7HHHpulS5fmjTfeyIc//OFsvfXW6dKlSyorK7Ny5cosX748PXv2zI033pijjz465eXluf766zN06NBUVFRk0aJFWbx4cX76059m+vTpOemkk/LRj340v/rVr3LxxRfnxBNPTFVVVR5//PHS2FuTJ0/O8uXLs++++zapd+jQoZkyZUr233//JG8HYGsarytJKVBadS6Tt8etmjt3bqqqqlJWVlYK7VaFeCtXrkx9fX223377JttYda7q6+vz0ksv5Vvf+la+/vWvl778uN9+++XYY4/Nf/3Xf6V9+/Y56qijkrx9LSTJP//5z3Tr1i1JUlVVlS984Qv5whe+UDrH//q02Kp+AMDGJZgCAN6z8vLyNX5Bbfny5dlhhx3y+uuv59RTT13rsaXq6uqaDZDWpEOHDvnJT36SL3zhC822eeWVV9KvX79mvyj3zjBl1SuIK1asyK233poDDzywyWt9/3qstbW1uf7663PiiScmSf7whz/kM5/5TFasWJGqqqokyaWXXppp06bliSeeSG1tbQYOHFjaVt++fXP77beXnt564okncuedd2by5Mm57LLL8sorr2T+/PmrjWv10Y9+NF/+8pfzwx/+MLNmzcqdd96Z5O2xlRoaGnL88cfnm9/8Zs4+++xcfPHFqayszAUXXJA///nPpS8bHnrooUmSMWPGZNCgQamsrMzf/va3zJw5M1OnTs29996bv/3tbznmmGMybdq0fOYzn8mAAQOy++67Z8stt8yWW26Zr3zlK02eoHrnuZw4cWKGDRvW5IuDnTp1ym677ZYkpS/0/f3vf1/tZ1JfX58XXnghP/jBD9KjR4/VXt37yU9+kqlTp+b4449P796988lPfrL0xNRBBx20xp9zcwRTAFCMssb1fdYaAGAtPProo/nABz6Qvn37rnWfnXbaKYMGDcpll122AStrPXfccUc+9rGPlZ76WbhwYZ599tnsvffepTDmlltuyS233JJPfOIT+fKXv1x68mddNDY2pq6uLo2NjaUwsKysLA0NDfnjH/+Yz3zmM03aT548OR07dlztKai6urpMmDAh8+fPz+mnn5527drlvvvuS6dOnbLDDjvkE5/4RLbYYosMGDAgBx10UA499NBS8PTSSy/l97//fR577LE8++yz2WmnnXLjjTeuz2l7V+3atcu3v/3tTJs2Lf/zP//T5HXIVV577bX86U9/Kj0x9corr2TbbbfNs88+Wwq/3k1FRUV+/etfN3k1EgDYOARTAAC8b9TX1+fVV1/NNtts0+yXAAGAtkMwBQAAAEAh2r17EwAAAABofYIpAAAAAAohmAIAAACgEIIpAAAAAApRUXQBG8vKlSvzj3/8I507d05ZWVnR5QAAAAC8LzU2NmbRokXZeuut065dy89E/dsEU//4xz/Su3fvossAAAAA+Lcwe/bs9OrVq8U2/zbBVOfOnZO8fVK6dOlScDUAAAAA7081NTXp3bt3KYtpyb9NMLXq9b0uXboIpgAAAAA2sLUZSsng5wAAAAAUQjAFAAAAQCEEUwAAAAAU4t9mjCkAAADg30NDQ0Pq6uqKLuN9q7KyMuXl5a2yLcEUAAAA8L7Q2NiYN954IwsWLCi6lPe9bt26ZauttlqrAc5bIpgCAAAA3hdWhVJbbrllOnbs+J5DE1bX2NiYpUuX5s0330yS9OzZ8z1tTzAFAAAAbPIaGhpKodQHPvCBost5X+vQoUOS5M0338yWW275nl7rM/g5AAAAsMlbNaZUx44dC67k38Oq8/xex/ISTAEAAADvG17f2zha6zx7lQ8AAACgYAceeGCeeeaZdOrUaY3rFyxYkIMOOih33HFHk+U/+9nPcu+99+a2227LypUrU1tbm/bt2zcJjurr65MkFRVtLwZqexUBAAAAtKLRT83dqPs776M91rlPVVVVRo8enWHDhq1x/YgRI/Liiy+utrxjx46lMZ9eeuml7LrrrunUqVPatXv7JbmGhoYsWbIk48aNy4knnrhWtTzyyCM58cQT8/zzz6/zcawrwRQAAABAwVYFSS2prKws/Xn+/PmZM2dO5s2blyVLlmTGjBnp3r17VqxY8Z7qePLJJ3PEEUekffv272k7a8sYUwAAAAAFW5sxm94ZXk2dOjU/+MEPMnbs2EybNi2XXnpppkyZ0mzfhoaGd93+kiVLcsQRR+TUU09du6JbgSemAAAAANqA888/P6NHj17jurfeeitDhgwpzR988ME5+OCDs9tuu+XjH/94xowZkxNOOCHHHntsqqqqUl9fn4aGhlRXV6e+vj6LFy/O4sWLW3wSqrKyMn/+858zY8aM/O///m+rH9+aCKYAAAAA2oBRo0a1OMbUq6++2mTZjBkz8te//jXLli3LgQcemClTppRe97v55pszceLE3HLLLWu9/6qqqmyzzTaZMWPG+h/EOvIqHwAAAMAm6Morr8wOO+yQffbZJ/X19bnpppvy+9//vkmw9Prrr+fee+8tsMqWeWIKAAAAoA1Yl1f5nnzyydx888258MIL8/TTT+eaa67JjjvumE9/+tM5+eST061btyTJgw8+mFNOOSXTp0/PVltttTEOY50U/sTUoYcemhtuuOFd2z344IPZZZdd0qNHj1x++eUbvjAAAACAjWjUqFGZOXPmGqd/HZD8+uuvz/e///1S2PTJT34yL7/8cl5//fV85StfKbU7+uijs8cee+TMM8/cqMeytgoNpiZMmJDJkye/a7s5c+ZkyJAhOeaYY/LII49kwoQJeeCBBzZChQAAAABtz9ixY1cLq77zne/k5JNPTseOHZssv+iii3LHHXdk5syZG7PEtVLYq3xvvfVWzj777Oy0007v2nbChAnp2bNnRo4cmbKyslxwwQUZP358PvOZz2yESgEAAAA2rIaGhpx33nm5+OKL17h+wYIFGTx4cGm+vLw8SVJXV5eGhobU19fnkEMOyfHHH59JkyblnnvuSYcOHZIk++yzT2bMmJE+ffps8ONYV4UFU2effXaOOOKILFu27F3bPvPMMznggANSVlaWJNlzzz0zfPjwFvvU1tamtra2NF9TU/PeCgYAAAA2Sed9tEfRJbyr8vLyXHbZZfnyl7+8xvUjRozI888/v9ry2trarFixIhUVFTnrrLOSJDfccEPmzp2bSy+9tNRuXUKpT3/605k1a9Y61b++CgmmHnjggdx3332ZNm1avvnNb75r+5qamuy6666l+S5duuS1115rsc8ll1ySiy666D3X2laNfmpus+ta+oVb2MI56XrhhRutjo3tivlXrHH5iVcuaLbP+pyPZNM5JzTV3DWSJKd3P30jVkLRWvod7tBnQrPrNsT9pK1oK+ekLd1f28o5aUlbuq+1VEtz52Rj/9609r8jvZvmzklb+tlszFrW5xpJNv37a1vSlu6xzWlL18mm8Du8Mf9bp61cIxvb60vrml3Xs2PlOm9v4sSJLa5v7kmqYcOGZdiwYU2W3X777eu8/6Js9DGmli9fnv/+7//O1VdfnS5duqxVn4qKilRXV5fm27dvn6VLl7bYZ/jw4Vm4cGFpmj179nuqGwAAAIDWtdGfmPre976XAQMG5HOf+9xa99l8880zZ86c0vyiRYtSVVXVYp/q6uomYRYAAAAAbctGD6Z+8YtfZM6cOenWrVuSZOnSpbntttvy2GOP5aqrrlpjnwEDBuSXv/xlaf7pp5/ONttsszHKBQAAAGAD2ejB1EMPPZT6+vrS/DnnnJO99torJ554YmpqatKhQ4dUVjZ9F3PIkCE57bTT8sADD2TffffNmDFjMnDgwI1dOgAAAACtaKMHU7169Woy36lTp/To0SM9evRInz59Mnbs2AwdOrRJmx49euSyyy7LwIED07Vr12y22WYZP378RqwaAAAAgNZWyFf53umGG24o/bmlTxGeeuqpOeSQQzJ9+vTsv//+az1wOgAAAABtU+HB1Lro27dv+vbtW3QZAAAAAK3qwAMPzDPPPJNOnTqtcf2CBQty0EEH5Y477miy/Gc/+1nuvffe3HbbbVm5cmVqa2vTvn37lJWVldqsGlKpoqLtxUBtryIAAACAVnTF/Cs26v5O73j6OvepqqrK6NGjM2zYsDWuHzFiRF588cXVlnfs2DEdOnRIkrz00kvZdddd06lTp7Rr1y5J0tDQkCVLlmTcuHE58cQT37WOiy66KFdccUWWLFmSoUOH5mc/+1k6d+68zseztgRTAAAAAAVbFSS15J0fi5s/f37mzJmTefPmZcmSJZkxY0a6d++eFStWrHcNEyZMyM0335x77rknm2++eQYNGpTRo0fn+9///npv890IpgAAAAAK9s5X75rzzvBq6tSpufXWW/PAAw+ksrIyl156aYYOHZpBgwatsW9DQ0PKy8tb3P4rr7ySG264IXvuuWeS5Itf/GKmTJmyDkex7gRTAAAAAG3A+eefn9GjR69x3VtvvZUhQ4aU5g8++OAcfPDB2W233fLxj388Y8aMyQknnJBjjz02VVVVqa+vT0NDQ6qrq1NfX5/Fixdn8eLFad++fbP7Hz58eJP5559/foOP9S2YAgAAAGgDRo0a1eIYU6+++mqTZTNmzMhf//rXLFu2LAceeGCmTJlSet3v5ptvzsSJE3PLLbesVy3PP/98/u///i9Tp05dr/5r691fYAQAAACgzbnyyiuzww47ZJ999kl9fX1uuumm/P73v8+MGTNKbV5//fXce++967TdhoaGnHTSSRk2bFh233331i67CU9MAQAAALQB6/Iq35NPPpmbb745F154YZ5++ulcc8012XHHHfPpT386J598crp165YkefDBB3PKKadk+vTp2WqrrdaqjosuuigLFy7MD3/4w/d8TO/GE1MAAAAAbcCoUaMyc+bMNU6nnnpqk7bXX399vv/975fCpk9+8pN5+eWX8/rrr+crX/lKqd3RRx+dPfbYI2eeeeZa1XDXXXfliiuuyK9+9at07Nix9Q6uGYIpAAAAgE3M2LFjVwurvvOd7+Tkk09eLVC66KKLcscdd2TmzJktbvO5557Lsccem5/85Cfp1atXFi9enKVLl7Z67e/kVT4AAACAgjU0NOS8887LxRdfvMb1CxYsyODBg0vz5eXlSZK6uro0NDSkvr4+hxxySI4//vhMmjQp99xzTzp06JAk2WeffTJjxoz06dOnxRrGjRuXpUuX5ktf+lJp2bbbbptZs2a9t4NrgWAKAAAAeF87vfvprb7N15fWter2ysvLc9lll+XLX/7yGtePGDEizz///GrLa2trs2LFilRUVOSss85Kktxwww2ZO3duLr300lK7dwulkrefwho7dux61b++BFMAAAAABZs4cWKL65t7kmrYsGEZNmxYk2W33357q9W1oRljCgAAAIBCCKYAAAAAKIRgCgAAAIBCCKYAAAAAKIRgCgAAAIBCCKYAAAAAKIRgCgAAAKBgBx54YHr06JE+ffqscerWrVuOPPLI1fr97Gc/y1FHHZUkWblyZZYtW5bGxsYmberr61NfX7/Wtbz00kuZMmVKli9f/t4Oai1UbPA9AAAAABRo4UUXtfo2O7a08sIL13l7VVVVGT16dIYNG7bG9SNGjMiLL764eh0dO6ZDhw5J3g6Udt1113Tq1Cnt2r39LFJDQ0OWLFmScePG5cQTT3zXOr75zW/mlltuSY8ePTJ//vzcd9992XXXXdf5eNaWYAoAAACgYKuCpJZUVlaW/jx//vzMmTMn8+bNy5IlSzJjxox07949K1asWO8a7r///kyePDkvvfRSOnXqlK9+9au59NJL8/Of/3y9t/luvMoHAAAAULCysrJ3bfPO8Grq1Kn5wQ9+kLFjx2batGm59NJLM2XKlGb7NjQ0vOv2O3bsmHHjxqVTp05Jkg9/+MOZP3/+WlS//jwxBQAAANAGnH/++Rk9evQa17311lsZMmRIaf7ggw/OwQcfnN122y0f//jHM2bMmJxwwgk59thjU1VVlfr6+jQ0NKS6ujr19fVZvHhxFi9enPbt2ze7/7322qv05zfffDPjx4/PmWee2XoHuAaCKQAAAIA2YNSoUS2OMfXqq682WTZjxoz89a9/zbJly3LggQdmypQppdf9br755kycODG33HLLOtdx3XXX5Rvf+EY+/elPr9W4VO+FV/kAAAAANkFXXnlldthhh+yzzz6pr6/PTTfdlN///veZMWNGqc3rr7+ee++9d522+6UvfSl33nln/va3v+WKK65o7bKbEEwBAAAAtAHnn39++vbtu8bpqquuatL2ySefzM0335yvf/3radeuXa655poMGTIkZ5xxRiZPnlxq9+CDD+aLX/xi3njjjbWuo7q6Ooceemi+973v5frrr2+141sTwRQAAABAGzBq1KjMnDlzjdOpp57apO3111+f73//+9lqq62SJJ/85Cfz8ssv5/XXX89XvvKVUrujjz46e+yxx1qNFXXZZZdlwoQJpfmKioqUl5e30tGtmWAKAAAAYBMzduzY1cKq73znOzn55JPTsWPHJssvuuii3HHHHZk5c2aL29xxxx1z5pln5oEHHsjzzz+fSy+9NF/4whdavfZ3Mvg5AAAAQMEaGhpy3nnn5eKLL17j+gULFmTw4MGl+VVPMtXV1aWhoSH19fU55JBDcvzxx2fSpEm555570qFDhyTJPvvskxkzZqRPnz4t1jBkyJCce+65OfbYY1NfX59hw4blW9/6VuscYDMEUwAAAMD7WtcLL2z1bb6+tK75/a3H9srLy3PZZZfly1/+8hrXjxgxIs8///xqy2tra7NixYpUVFTkrLPOSpLccMMNmTt3bi699NJSu3cLpVY599xzc+655677AawnwRQAAABAwSZOnNji+uaepBo2bFiGDRvWZNntt9/eanVtaMaYAgAAAKAQgikAAAAACiGYAgAAAN43Ghsbiy7h30JrnWfBFAAAALDJq6ysTJIsXbq04Er+Paw6z6vO+/oy+DkAAACwySsvL0+3bt3y5ptvJkk6duyYsrKyDba/utrmv8q3vF3DBttv0RobG7N06dK8+eab6datW8rLy9/T9gRTAAAAwPvCVlttlSSlcGpDWrii+fBpSdV7C2s2Bd26dSud7/dCMAUAAAC8L5SVlaVnz57ZcsstU1fX/BNNrWHcc/ObXfe17bpv0H0XrbKy8j0/KbWKYAoAAAB4XykvL2+14KQ5S8uaH1upffv2G3Tf7ycGPwcAAACgEIIpAAAAAAohmAIAAACgEIIpAAAAAAohmAIAAACgEIIpAAAAAAohmAIAAACgEIIpAAAAAApRaDA1b968/PnPf87cuXOLLAMAAACAAhQWTN1yyy3p27dvTjvttHzoQx/KLbfc8q59Bg8enLKystJ00EEHbYRKAQAAANgQKorY6YIFC/KNb3wjDz30UHbbbbfcdNNN+fa3v52jjz66xX5PPPFEnn322fTq1StJUllZuTHKBQAAAGADKCSYWrRoUcaOHZvddtstSfLhD3848+fPb7HPq6++msbGxlIfAAAAADZthbzK17t37xx33HFJkrq6uowZMyaf//znW+zz2GOPpaGhIb169cpmm22Wo48++l3DLAAAAADarkIHP3/mmWfywQ9+MPfee2/Gjh3bYtsXXnghe+yxRyZPnpypU6dm1qxZOf/885ttX1tbm5qamiYTAAAAAG1HocFU//79c99996Vfv3456aSTWmx73nnn5e67706/fv2yyy675NJLL80dd9zRbPtLLrkkXbt2LU29e/du7fIBAAAAeA8KDabKysry0Y9+NDfccEPuuuuudXo1r1u3bpk7d25qa2vXuH748OFZuHBhaZo9e3ZrlQ0AAABAKygkmLr//vtz7rnnluYrKt4eg71du+bLOfLIIzNlypTS/OOPP56tttoq1dXVa2xfXV2dLl26NJkAAAAAaDsK+SrfzjvvnKFDh2bHHXfMYYcdlhEjRuSQQw5J165dU1NTkw4dOqSysrJJn/79++fMM8/M2LFjM2fOnIwcOTKnnnpqEeUDAAAA0AoKeWJq6623zu23356xY8emX79+Wbp0aW666aYkbwdQkyZNWq3P8OHDs+uuu+bggw/OGWeckVNOOSXDhw/f2KUDAAAA0EoKeWIqSQYOHJjnnntuteWzZs1aY/vKysqMHz8+48eP38CVAQAAALAxFDr4OQAAAAD/vgRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQoNpubNm5c///nPmTt3bpFlAAAAAFCAwoKpW265JX379s1pp52WD33oQ7nlllvetc+DDz6YXXbZJT169Mjll1++EaoEAAAAYEMpJJhasGBBvvGNb+Shhx7KU089lWuvvTbf/va3W+wzZ86cDBkyJMccc0weeeSRTJgwIQ888MBGqhgAAACA1lZIMLVo0aKMHTs2u+22W5Lkwx/+cObPn99inwkTJqRnz54ZOXJkdtxxx1xwwQUZP378xigXAAAAgA2gkGCqd+/eOe6445IkdXV1GTNmTD7/+c+32OeZZ57JAQcckLKysiTJnnvumSeffLLZ9rW1tampqWkyAQAAANB2VBS582eeeSaf+cxnUlVVlb/97W8ttq2pqcmuu+5amu/SpUtee+21Zttfcsklueiii1qtVgAAAABaV6Ff5evfv3/uu+++9OvXLyeddFKLbSsqKlJdXV2ab9++fZYuXdps++HDh2fhwoWlafbs2a1WNwAAAADvXaFPTJWVleWjH/1obrjhhmy77baZP39+unfvvsa2m2++eebMmVOaX7RoUaqqqprddnV1dZMgCwAAAIC2pZAnpu6///6ce+65pfmKirfzsXbtmi9nwIABmTJlSmn+6aefzjbbbLPhigQAAABggyokmNp5551z7bXXZty4cZk9e3bOO++8HHLIIenatWtqampSV1e3Wp8hQ4bk4YcfzgMPPJD6+vqMGTMmAwcOLKB6AAAAAFpDIcHU1ltvndtvvz1jx45Nv379snTp0tx0001J3h53atKkSav16dGjRy677LIMHDgwPXv2zLRp0zJixIiNXToAAAAAraSwMaYGDhyY5557brXls2bNarbPqaeemkMOOSTTp0/P/vvvny5dumzACgEAAADYkAod/Hx99O3bN3379i26DAAAAADeo0Je5QMAAAAAwRQAAAAAhRBMAQAAAFAIwRQAAAAAhRBMAQAAAFAIwRQAAAAAhRBMAQAAAFAIwRQAAAAAhRBMAQAAAFAIwRQAAAAAhRBMAQAAAFAIwRQAAAAAhRBMAQAAAFAIwRQAAAAAhRBMAQAAAFAIwRQAAAAAhRBMAQAAAFAIwRQAAAAAhRBMAQAAAFAIwRQAAAAAhRBMAQAAAFAIwRQAAAAAhRBMAQAAAFAIwRQAAAAAhRBMAQAA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M2dOaX7RokWpqqpqtn11dXWTIAsAAACAtmWtv8rXnHcbG6o5L730Uo477rhcffXVTV7Ra86AAQMyZcqU0vzTTz+dbbbZZr32DQAAAEDx3nMwtT6WLVuWQYMGZejQoTn88MOzePHiLF68OI2NjampqUldXd1qfYYMGZKHH344DzzwQOrr6zNmzJgMHDiwgOoBAAAAaA2FBFOTJ0/O9OnTc91116Vz586l6eWXX07//v0zadKk1fr06NEjl112WQYOHJiePXtm2rRpGTFiRAHVAwAAANAa1mmMqdYydOjQNDY2rnHdrFmzmu136qmn5pBDDsn06dOz//77p0uXLhuoQgAAAAA2tEKCqfeib9++6z2uFQAAAABtRyGv8gEAAACAYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQgimAAAAACiEYAoAAACAQhQWTM2bNy/bbbddZs2atVbtBw8enLKystJ00EEHbdgCAQAAANigKorY6dy5czN48OC1DqWS5Iknnsizzz6bXr16JUkqKys3UHUAAAAAbAyFPDF19NFH5+ijj17r9q+++moaGxuz2267pVu3bunWrVs222yzDVghAAAAABtaIcHUuHHjcvrpp691+8ceeywNDQ3p1atXNttssxx99NGZP3/+BqwQAAAAgA2tkGBq++23X6f2L7zwQvbYY49Mnjw5U6dOzaxZs3L++ee32Ke2tjY1NTVNJgAAAADajk3iq3znnXde7r777vTr1y+77LJLLr300txxxx0t9rnkkkvStWvX0tS7d++NVC0AAAAAa2OTCKb+Vbdu3TJ37tzU1tY222b48OFZuHBhaZo9e/ZGrBAAAACAd7NJBFNHHnlkpkyZUpp//PHHs9VWW6W6urrZPtXV1enSpUuTCQAAAIC2o00FUzU1Namrq1ttef/+/XPmmWfm0UcfzcSJEzNy5MiceuqpBVQIAAAAQGtpU8FU//79M2nSpNWWDx8+PLvuumsOPvjgnHHGGTnllFMyfPjwAioEAAAAoLVUFLnzxsbGJvOzZs1aY7vKysqMHz8+48eP3whVAQAAALAxtKknpgAAAAD49yGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQgikAAAAACiGYAgAAAKAQhQVT8+bNy3bbbZdZs2atVfsHH3wwu+yyS3r06JHLL798wxYHAAAAwAZXSDA1d+7cDBo0aK1DqTlz5mTIkCE55phj8sgjj2TChAl54IEHNmyRAAAAAGxQhQRTRx99dI4++ui1bj9hwoT07NkzI0eOzI477pgLLrgg48eP34AVAgAAALChFRJMjRs3Lqeffvpat3/mmWdywAEHpKysLEmy55575sknn2yxT21tbWpqappMAAAAALQdhQRT22+//Tq1r6mpyXbbbVea79KlS1577bUW+1xyySXp2rVraerdu/d61QoAAADAhrFJfJWvoqIi1dXVpfn27dtn6dKlLfYZPnx4Fi5cWJpmz569ocsEAAAAYB1UFF3A2th8880zZ86c0vyiRYtSVVXVYp/q6uomYRYAAAAAbcsm8cTUgAEDMmXKlNL8008/nW222abAigAAAAB4r9pUMFVTU5O6urrVlg8ZMiQPP/xwHnjggdTX12fMmDEZOHBgARUCAAAA0FraVDDVv3//TJo0abXlPXr0yGWXXZaBAwemZ8+emTZtWkaMGFFAhQAAAAC0lkLHmGpsbGwyP2vWrGbbnnrqqTnkkEMyffr07L///unSpcsGrg4AAACADWmTGPx8lb59+6Zv375FlwEAAABAK2hTr/IBAAAA8O9DMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQRTAAAAABRCMAUAAABAIQoLpqZNm5YBAwake/fuOffcc9PY2PiufQYPHpyysrLSdNBBB22ESgEAAADYEAoJpmprazN48ODssccemTp1ap577rnccMMN79rviSeeyLPPPpv58+dn/vz5ueuuuzZ8sQAAAABsEIUEU3fffXcWLlyYyy+/PDvssENGjRqV8ePHt9jn1VdfTWNjY3bbbbd069Yt3bp1y2abbbaRKgYAAACgtRUSTD3zzDPZa6+90rFjxyRJ//7989xzz7XY57HHHktDQ0N69eqVzTbbLEcffXTmz5+/McoFAAAAYAMoJJiqqanJdtttV5ovKytLeXl5i0HTCy+8kD322COTJ0/O1KlTM2vWrJx//vnNtq+trU1NTU2TCQAAAIC2o5BgqqKiItXV1U2WtW/fPkuXLm22z3nnnZe77747/fr1yy677JJLL700d9xxR7PtL7nkknTt2rU09e7du9XqBwAAAOC9KySY2nzzzTNnzpwmyxYtWpSqqqq13ka3bt0yd+7c1NbWrnH98OHDs3DhwtI0e/bs91QzAAAAAK2rkGBqwIABmTJlSml+1qxZqa2tzeabb95snyOPPLJJn8cffzxbbbXVak9erVJdXZ0uXbo0mQAAAABoOwoJpvbbb78sXLgwN954Y5Jk9OjROeigg1JeXp6amprU1dWt1qd///4588wz8+ijj2bixIkZOXJkTj311I1dOgAAAACtpKKQnVZUZNy4cTn22GNz7rnnpqGhIQ8++GCStwOosWPHZujQoU36DB8+PC+//HIOPvjgbLnlljnllFMyfPjwAqoHAAAAoDUUEkwlydChQzNjxoxMnTo1e++9d7bYYoskb7/WtyaVlZUZP358xo8fvxGrBAAAAGBDKSyYSpJtttkm22yzTZElAAAAAFCQQsaYAgAAAADBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAAAAUIjCgqlp06ZlwIAB6d69e84999w0Nja+a58HH3wwu+yyS3r06JHLL798I1QJAAAAwIZSSDBVW1ubwYMHZ4899sjUqVPz3HPP5YYbbmixz5w5czJkyJAcc8wxeeSRRzJhwoQ88MADG6dgAAAAAFpdIcHU3XffnYULF+byyy/PDjvskFGjRmX8+PEt9pkwYUJ69uyZkSNHZscdd8wFF1zwrn0AAAAAaLsqitjpM888k7322isdO3ZMkvTv3z/PPffcu/Y54IADUlZWliTZc889M3z48Gbb19bWpra2tjS/cOHCJElNTc17Lb9NWL54UbPrymqWN7uuZnnz68rW49y0VEdNTdU6b++9WJ9z0trnY33rSJKa8ta/NpurpaWfzfv5nLSV35u25P1wTpqrZaNfrxvxd2eT+R3eiH/ntJWfzcaupa3UsSFq2RB1bAq/Oxv7/rrc9br6/jbidbKpnJON+Tvcko15vSZt53d4U7hO2kodG7uWtlJHW7Qqe1mbYZvKGtemVSs7++yzs3z58vz0pz8tLdtiiy3ywgsvpHv37mvs85//+Z/Za6+9cu655yZJlixZkq233roUOP2r7373u7noootav3gAAAAA3tXs2bPTq1evFtsU8sRURUVFqqurmyxr3759li5d2mww9a99VrVvzvDhw3PWWWeV5leuXJm33norH/jAB0pPXb0XNTU16d27d2bPnp0uXbq85+3BhuR6ZVPiemVT4nplU+OaZVPiemVT4nptqrGxMYsWLcrWW2/9rm0LCaY233zzTJs2rcmyRYsWpaqq+cdmN99888yZM2et21dXV68WfnXr1m39Cm5Bly5dXHRsMlyvbEpcr2xKXK9salyzbEpcr2xKXK//v65du65Vu0IGPx8wYECmTJlSmp81a1Zqa2uz+eabr3Wfp59+Ottss80GrRMAAACADaeQYGq//fbLwoULc+ONNyZJRo8enYMOOijl5eWpqalJXV3dan2GDBmShx9+OA888EDq6+szZsyYDBw4cGOXDgAAAEArKWyMqXHjxuXYY4/Nueeem4aGhjz44INJ3v5C39ixYzN06NAmfXr06JHLLrssAwcOTNeuXbPZZptl/PjxBVT/turq6lx44YWrvS4IbZHrlU2J65VNieuVTY1rlk2J65VNiet1/RXyVb5VXnvttUydOjV77713tthii7XqM3PmzEyfPj3777+/9zYBAAAANmGFBlMAAAAA/PsqZIwpAAAAABBMAQAAAKyDefPm5c9//nPmzp1bdCmbPMHUepg2bVoGDBiQ7t2759xzz423IWnLvvGNb6SsrKw09e3bt+iSoIl58+Zlu+22y6xZs0rL3Gdpy9Z0zbrX0hbddddd2X777VNRUZFPfOITmT59ehL3WNqm5q5X91faoltuuSV9+/bNaaedlg996EO55ZZbkri/ri/B1Dqqra3N4MGDs8cee2Tq1Kl57rnncsMNNxRdFjTriSeeyKRJkzJ//vzMnz8/Tz31VNElQcncuXMzaNCgJv+B7z5LW7amazZxr6XtefHFF3PSSSdl9OjRee2117Lttttm2LBh7rG0Sc1dr4n7K23PggUL8o1vfCMPPfRQnnrqqVx77bX59re/7f76Hhj8fB3deeed+cpXvpJXX301HTt2zDPPPJPTTjstDz/8cNGlwWrq6+uz+eab5x//+Ec6depUdDmwmoMOOiiDBw/OGWeckb///e/p06eP+yxt2pquWfda2qKJEyfm1Vdfzcknn5wkeeCBB3LooYfm1ltvdY+lzWnuel2yZIn7K23O7Nmz88c//jHHHXdckuQvf/lLPvWpT+XGG290f11PnphaR88880z22muvdOzYMUnSv3//PPfccwVXBWv2l7/8JY2NjfnIRz6SDh065NBDD80rr7xSdFlQMm7cuJx++ulNlrnP0pat6Zp1r6UtGjRoUOk/8pPk+eefT9++fd1jaZOau17dX2mLevfuXQql6urqMmbMmHz+8593f30PBFPrqKamJtttt11pvqysLOXl5Zk/f36BVcGaTZ8+Pf369csvf/nLPPfcc6msrMx///d/F10WlGy//farLXOfpS1b0zXrXktbt2LFiowZMyannnqqeyxt3juvV/dX2rJnnnkmH/zgB3Pvvfdm7Nix7q/vQUXRBWxqKioqUl1d3WRZ+/bts3Tp0nTv3r2gqmDNjjvuuFKanyQ/+clPsv3226empiZdunQpsDJonvssmxr3Wtq6ESNGpFOnTvna176WESNGuMfSpr3zeq2srHR/pc3q379/7rvvvpxzzjk56aST8h//8R/ur+vJE1PraPPNN8+cOXOaLFu0aFGqqqoKqgjWXrdu3bJy5cq8/vrrRZcCzXKfZVPnXktb8rvf/S7XXHNNfvGLX6SystI9ljbtX6/Xf+X+SltSVlaWj370o7nhhhty1113ub++B4KpdTRgwIBMmTKlND9r1qzU1tZm8803L7AqWLOzzjort912W2n+8ccfT7t27dK7d+8Cq4KWuc+yqXGvpa166aWXctxxx+Xqq6/OrrvumsQ9lrZrTder+ytt0f33359zzz23NF9R8faLaDvvvLP763oSTK2j/fbbLwsXLsyNN96YJBk9enQOOuiglJeXF1wZrO4jH/lIvvOd7+SPf/xj7r///nzjG9/IiSeeWBqQD9oi91k2Ne61tEXLli3LoEGDMnTo0Bx++OFZvHhxFi9enH333dc9ljanuev1wx/+sPsrbc7OO++ca6+9NuPGjcvs2bNz3nnn5ZBDDsnnPvc599f1VNbY2NhYdBGbmjvvvDPHHntsOnfunIaGhjz44IPp169f0WXBGg0fPjzXXHNNOnfunCOOOCKjRo3KZpttVnRZ0ERZWVn+/ve/p0+fPkncZ2n7/vWada+lrbnzzjtzxBFHrLb873//e55++mn3WNqUlq7Xa6+91v2VNmfy5Mk588wz8+qrr2bgwIG56qqrssUWW/h32PUkmFpPr732WqZOnZq99947W2yxRdHlALzvuM8CbDjusQAbhvvruhNMAQAAAFAIY0wBAAAAUAjBFAAAAACFEEwBAAAAUAjBFAAAAACFEEwBAGwkK1eubDL/1ltvFVQJAEDbIJgCANgAVq5cmcsuuyyvvPJKkuSBBx7Ixz72sSxevDhJMm/evGy33Xb59a9/3aTfX//618yZM6c0//GPfzxXX331xiscAGAjEkwBAGwAjY2Nee655/KpT30qs2fPzt57753GxsaMHDkySfKTn/wkO++8cwYNGtSk33e+85187WtfK823b98+HTp0eNf9ffe7383QoUObLPv0pz+dsrKydOjQIQMGDMhvfvOb935gAACtqKLoAgAA3o/Ky8tz3XXX5aKLLkrnzp1TXV2dCRMmpEePHnnjjTfy4x//OA899FCqqqpKfebPn5/f/e53uf/++7N8+fIkbwdcdXV1pfn6+vokSadOndaqjlGjRuXII4/MjTfemCOOOCL3339/9ttvv1Y+WgCA9SOYAgDYAHr27Jlly5aloqIiP/3pT9fYZt99901tbW0GDBiQ+++/P1dddVVWrFiRAw88sNRm2bJleeKJJ3LmmWcmSerq6nLggQfmt7/97VrV0aFDh+y444753ve+l5kzZ+aKK64QTAEAbYZX+QAANoCKiorcc889eeONNzJnzpzMnTt3jdOPf/zjlJeX5+9//3tGjx6diRMnZvHixaXpk5/8ZK655prSfG1t7VqHUv/q0EMPzeOPP97KRwoAsP48MQUAsAGMHDkyffr0ycCBA/Poo4+muro6ZWVlSZLa2tosW7YsX/7yl3Peeedliy22yNy5czNq1KgceOCBqa2tTXV19WrbXLlyZWpra9dqzKk16dmzZ9588833dFwAAK1JMAUAsAGsGsD8vvvuKy1btGhRLr/88lx55ZX5/Oc/n29+85vZcccds+OOOyZJBgwYkFtuuSXHHntsaeypFStW5NFHH83JJ5+choaGfOADH8gbb7yxXjWVlZWlsbHxPR4ZAEDr8SofAMAGUFtbu1oIdPfdd2f8+PF57LHH8vOf/zwf/vCH09jYmBUrVpTaHHXUUWloaMjy5cuzfPny7L333rnuuuuyfPny1NXV5dVXX13vmv75z3/mgx/84Hr3BwBobZ6YAgBoZcuXL0+HDh1SVlaWdu3+//8P2NjYmJUrV2annXZqsqx3796ZNWtWkjRpvyYVFev/r2/33ntv9t577/XuDwDQ2gRTAACtrH379lmxYkUqKyubLL/nnnsyYsSITJ06tcnyhoaGDVbLsmXLMnPmzPziF7/I7bffnocffniD7QsAYF15lQ8AYAP411AqSerr69fYtry8PI2NjVm6dGlWrlz5rtuur69PbW3tWtVx/vnnZ/fdd8/vfve73Hvvvdljjz3Wqh8AwMZQ1mgETACADerNN9/Mcccdl5kzZ6Zfv36ZOHHiam3mzZuXD33oQ6murn7X1/lWrFiRL3zhCxk/fvyGKhkAYKMQTAEAbAS/+MUv0qVLl+y///7p3Llz0eUAALQJgikAAAAACmGMKQAAAAAKIZgCAAAAoBCCKQAAAAAKIZgCAAAAoBCCKQAAAAAKIZgCAAAAoBCCKQAAAAAKIZgCAAAAoBCCKQAAAAAK8f8BLEyY/Ft6uUYAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLXklEQVR4nO3dfZhXdZ0//icwzAAid6J5A97ilkrehJpm33QVtBthtSyRvM8txVKxLCHMJRWhRRf9WrooXymhzJstd2UVU1nKkoxIVhRxvAEVcQVBhjsHZpjfH1x8fs4ywICcGcDH47rOJeec9/tzXme8rjPz/LzPeZ8WdXV1dQEAAAC2upbNXQAAAADsqIRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAOww1u8eHHp3ytXrszw4cOzYsWK0ra6urqcddZZeeyxxxrsX1NTk7q6unrbPv/5z+cf//Efiyn4Q1iwYEGD2+fNm5fa2trCj79s2bJcf/31eeedd7aof2VlZf7yl780uG/OnDk59thj89RTT23RZ7///vv5z//8z9LPaO7cuZvV/84778y3vvWtLTo2AB9dQjcAO7Sf/OQnOfjggzNjxowkyauvvprrrrsul156aanNo48+mnvvvTe///3vG/yMhx9+OH/3d3+XP/3pT6VtK1asSHV1dbHFb4GvfvWr6d+//3rbf/CDH+SII45Y78uDD/rDH/6QFi1aNHpZunTpep+xcuXKXHPNNVm0aFFp/fnnn8/cuXPz5ptv1ltee+21vPnmm/X6Dxs2LP369cu8efPW++wWLVpk6tSpqamp2dwfS5Jk+fLl+dKXvpSnnnoq//Zv/5ZDDjkkEydObHT/Nm3a5M4778zrr79e2lZbW5vly5dn9erVW1QTADs+oRuAHdrFF1+cvffeO3369Mn//M//5JBDDsmNN96YX/7yl3nttdeSJNdff3169+6dH//4xw1+xtSpU7NkyZJ88pOfLG1r2bJlWrbcur9GzznnnPzTP/3Th/qM559/Pr179663bc2aNXniiSfyta99LS1atNhg3zZt2pQ+Y+nSpRtc7rjjjiRJ69atN/gZFRUVSZLZs2enZ8+e2XfffdO9e/d6y/7775+hQ4fW6/+zn/0sHTt2zOmnn57333+/3r6ysrIkSceOHTfnR1Ky0047JUnKy8vz5S9/OZdddllOP/30/Nd//Ve9dk8//XSDXzKce+65qauryz777FPaVlZWlvbt2+eJJ57YopoA2PGVNXcBAFCkDh065Le//W1+85vf5GMf+1iS5Nvf/nZOPvnk7Lfffrn//vvz3//935k5c+YGQ/S///u/54ILLsjOO++80WOtWrUqNTU1adeu3WbXOWrUqIwfPz7XXnvtZvetq6vLvHnzsmjRoixcuDCf+tSn8uabb6ZVq1bZY4898sQTT+Ttt99ORUVFxo8fX+rXo0ePHHPMMaX1deffrl27tG/ffoPHWxeo14XgD1oX6tf995BDDsn//M//pHPnzvVC+qpVq7J06dL1fuYdOnTI+PHj861vfStLliwphfgP1te2bduN/jzmzp2blStXbnD/66+/nhdffDFnn312lixZkvLy8ixfvrwUytfV+fbbb6djx45ZtGhRrrzyylx77bXZb7/9kqy9O+IXv/hF7rnnnlRXV2/05wXAR1uLuo3dZwYA27GvfOUr+bd/+7fN7vef//mf+cIXvpAk+etf/5ojjzyy0X0POeSQzJw5c7OON3To0IwZMyY77bRTzjvvvM0e7V61alUpCH/QnnvumXnz5mXAgAF5/PHHs/fee5f2zZkzJ1/5ylfyr//6r6Vtzz77bI444oi89tpr2XfffTd4vHHjxuWCCy6od6v6XXfdlV/96ldp1apVfve73+X4449Pq1at8qMf/SjHH3/8Zp1PsnZ0fs6cOTnqqKNSXl6eli1bpq6uLvPnz8/uu++eVq1aZc2aNampqck3vvGN3HjjjaW+xx57bP72t7/VC+zrLF26NBUVFSkvL09dXV1qa2tTXV2dqVOnplevXkmS6dOnp1evXlm4cGHat2+fpUuXZtddd82MGTNy6KGHJkl+8YtfZMiQIXnjjTeyatWqtGrVqsEvIQDAbwcAdljt2rXLF7/4xXrBcmNWrFiRj3/84/UC7KhRo3L88cfn3nvvrdf2y1/+crp3755bbrklydrR5lWrVm1Rnc8//3z++Mc/bvHEbOXl5UmSyZMn54QTTkiyNhj/+Mc/zpw5c/Lggw/mt7/9bemLhGTtrewNhdIkpdHczfGpT30qXbp0KT0jfe6556ZTp05Zs2ZNXn311Q3eRbB69erssssu6dKlS1auXFkKry1btsxuu+2WO++8M+Xl5WnVqlWmTp2a66+/PnfeeWe90L3PPvvU+8yWLVvme9/7Xq6//vr1jnfYYYflG9/4Ri677LIkayfJ21BY/o//+I9ccMEFpZHvo446qjSCv2bNmqxevTrl5eWpra3NL3/5ywafpQcAoRuAHVrXrl2z1157Zfny5SkvLy8F1IasWLGi9Lxusnbk97777stdd92V3XffvV7b8vLytG3bdr3tW+LBBx/80M+Ht2rVar1t68LnZz7zmXqBO1kbdjcUup9//vl6o+L/24QJE3LxxRfX2/apT30qn/rUp/LAAw8kSY4++uj06NEjPXv2zGuvvVYKrutGhVu1alX6ouL222/PxRdfnD59+uSPf/xjkrUTwt1333358pe/XDrGn//85/zd3/1dTj311I3+LNaNin9wwrV1z+Dvuuuueeutt5Ik7777bj71qU/lpz/9ab3PXLNmTZLkjDPOyDnnnJMlS5Zkl112yV//+tf07NkzSTJ+/PgMHTo0c+bMyZo1azY6QR0AH20mUgNgh3XPPffk5z//eebOnZudd945FRUVG5yJu3fv3mnXrl3mzJmTv//7v0+STJkyJfvuu2/OPPPMQuvc2hOyfdDw4cNz00035cwzz8yLL75Y2r6hW9KT//+Z7g0tG+q3YsWKPPzww0nW3gkwYsSIzJgxI7W1tXn//ffz/vvvZ//998+dd96Z999/P9XV1VmzZk2++c1vJknuvffezJkzJ1/60pca/EJg0qRJ+exnP5snn3wylZWVGzznli1bZvjw4WndunVp6devX5Jk//33L70qbMKECXn77bfzd3/3d/X6r3sevF27dmnVqlXpVWsrV67MsmXLsmzZslLt647X0JceAJAY6QbgI6Bbt255+eWXU1FRkVatWqVFixZZtWpV/uVf/iW33XZb9tlnn5x99tnr9bv88svzne98J8naZ7vbtm1bCsgrVqzIkiVLSkF2XTA75JBDmuis1rfuy4J1DjjggFKgfP3113PDDTfknnvuSbLxke4t9fOf/zwVFRVZunRpLrzwwgwbNiznnXdeWrduna5du9Y7Xm1tbV599dUceOCBpTsLunXrlmTtDOj/+4uI//qv/8rUqVNz22235dJLL80777yTP/7xj9ljjz3Wq2PVqlW57LLLSv/vrrzyynTt2jVJ0rNnz9xyyy1ZvXp1brvttnzrW99qMHR36NCh3v/rZO3o/QfttttuW/yzAuCjQ+gGYIdXVlaWAw44oLS+cuXKHHbYYXnrrbdy/fXX58orr2zw9VfJ2lHMZcuW5dOf/nTatm1bGtFctmxZnn322UyePDnJ2hC5zz77bPYkalvTfffdl2OPPTZJcv/99+enP/1pad8VV1yRs88+O9dff3322WefVFdXb3DEekue6X7vvfcybNiwXHnllRkyZEi+9rWvZfr06amqqso111yTt99+O88880yp/dVXX53x48fn+eefT5cuXTb62UuWLMkll1ySU045Jb169cpvfvObfPrTn84Xv/jF/P73v19vVvnly5ene/fu6dGjR5K1M6nvuuuuSdZOsnb55Zfnmmuuyfz589d7Zdm6460L8++88046dOiQqqqqBl+39sFZzwGgIUI3ADus559/PnV1detNlLVmzZq88sorGT58eP7hH/4hr7zySmnfqlWrsttuu9V7Vrt9+/b1ng9OkhNOOCH77rtvxo0bV+g5bI5dd921NFrcuXPnevtOP/30dOzYMb/+9a/z/e9/PytXrtzgq8225Jnur371q9l9993zzW9+M0OGDEnLli1z33335d13382kSZNy55131ms/aNCg3HXXXbn88stLo+8NWbp0ab7yla9k4cKFmTRpUpJkjz32yL//+7/ns5/9bM4444xMnDix3v/j+fPnp0OHDqX1ZcuWlYL9pz71qXTt2jUjR47Mv/zLvzQ4Wv3mm2+WQnfPnj2zYsWKLF++PLvsskupTV1dXRYtWpQBAwZkwoQJG6wfAIRuAHZYAwYMyCuvvNLg7NRr1qzJj3/843qvmkrWhu7rrrsu3/3ud5uqzCZRXl6eRx55pPRarOXLl9cLph/U2Pd0f9A3vvGNHHbYYevtWxdszzrrrHrb99xzz/z4xz/OZZddlvPOOy+9e/cu7aurq8uyZcvy/vvv57Of/Wzmzp2bxx57rN4XAYcffnjuvPPODBgwID/96U9z+eWXJ1kbmBcuXJgDDzyw1HbevHmlwLx8+fLsvPPOWbVqVS699NLS/j333LM0kl1ZWZm99torydqR7vfffz+HH354rrjiitKXDTfccEPuuOOO3HrrrRv8OQFAInQDsAObMWPGBve1b98+d9111w71mqcFCxbkzTffTJIsXrx4vf1HHXVU6d+LFi1aL3R/mBm41/0cly5dWtr28ssv56abbsoNN9xQun3/g8f4x3/8x9x6662prKwshe6f//zn+Y//+I/U1dXluuuuyxVXXJEjjzwyn/zkJ9c75rogf8YZZ5S2TZkyJS1btswnP/nJ/PM//3Oee+65zJ49Oz169MjixYvTt2/ftG7dOi1btsxtt92WQYMGZcSIEamsrMyjjz6aZO2r1wYOHFj6zDZt2uQXv/hF+vTpkz322CNLly7NyJEj88QTT9Qb/QaAhgjdALABq1atynPPPZeKior1Rsv/90Rq69TW1mb16tU5/PDDm7DStSP3X/va1+pt23fffRtsu3jx4sybN2+9W9DX3ULf2Ge6V69evd6z8OveVb5q1ar06NEjv/nNb3L88cfnvvvuy7Rp0/L666+XjtumTZu8+OKLpefkr7vuulx//fV55JFH8vGPfzxnn3127r777gwYMCC9evVKt27d0rFjx7Ru3Tp1dXWprq7Onnvumfvvvz8nn3xyunbtmjFjxuT4449P165dU1tbm9dffz0//vGP06ZNmxx99NHp2LFjnnrqqfzmN7/Jt7/97ey6667505/+VBrZfv755/Piiy/mxBNPrHdeRx99dEaOHJmvfOUrqaury3333VfvSwwA2BChG4CPjHfeeSe///3v884772T58uUbnDxtnbfeeiuf/vSnU1FR0WDbl156Kcccc0y9bdXV1WnXrl3efffdza7vv/7rvza7T7I24NbV1WXy5Mk54YQTkiTjxo3LkCFD6rX7/ve/n3nz5uWPf/xjunfvnk9/+tP19tfW1qZjx46ZOnVq6dnwhqx7pru6unqjobtly5b5/Oc/nySpqqrKE088ke9973v54he/WGr/wVdt7bfffrnrrrty0kknJVn783j00Ufz8MMP52c/+1nmzJmTRYsWlWYTX2eXXXbJO++8k/vvvz+///3v88gjjyRZO1nb1VdfnSuvvDKf/exnc/bZZ+e2225L+/bt84//+I958sknc8455yRZe3t8kowaNSpHHHFEevTokcrKyrz22muZPn16Hn/88TzzzDP5yle+kv/5n//JWWedlSOOOCKHH354Pvaxj2XXXXfNgAEDjHwDsJ4WdR/mXjIA2I5UV1ene/fuWbZsWY499tj8+te/Lr1KantWW1ubX/3qV+nTp08+9rGPJVn7BcNrr71WL1iPHj06f/zjH3Pcccfl/PPPT6dOnZqp4g+nrq4uNTU1WbNmTVq1alV6DVySPP744/WeD0/Wvu7t9ddfz+mnn77e5zz44IN56aWXMmjQoLRt2zbTpk3LokWL8rnPfS6f/exns2bNmhx55JE54YQT0q9fv9Kz7vPnz8/vfve7TJ06Nf/93/+dNm3a5PHHH2+aHwAA2xWhG4CPlKVLl673iikAgKII3QAAAFCQls1dAAAAAOyohG4AAAAoiNANAAAABRG6AQAAoCAfmfd0r1mzJm+99VZ23nnn0mtFAAAAYEvU1dVl6dKl2XPPPdOy5YbHsz8yofutt95K9+7dm7sMAAAAdiBvvPFGunXrtsH9H5nQve6drG+88UY6dOjQzNUAAACwPauqqkr37t1LWXNDPjKhe90t5R06dBC6AQAA2Co29fiyidQAAACgIEI3AAAAFEToBgAAgIJ8ZJ7pBoDmsmbNmqxataq5y9ihlZeXb/R1LQDQXIRuACjQqlWr8tprr2XNmjXNXcoOrWXLltlvv/1SXl7e3KUAQD1CNwAUpK6uLvPnz0+rVq3SvXt3I7EFWbNmTd56663Mnz8/e++99yZnkQWApiR0A0BBampqsmLFiuy5555p165dc5ezQ9t1113z1ltvpaamJq1bt27ucgCgxFfuAFCQ2traJHHLcxNY9zNe9zMHgG2F0A0ABXO7c/H8jAHYVrm9HABYz0knnZQZM2akffv2De5/77330rt37zzwwAP1tt9111157LHHct9992XNmjWprq5OmzZt6oXimpqaJElZmT9DANjx+W0HAE1sxN8WNunxrj6i62b3KS8vz4gRI3LRRRc1uH/o0KF55ZVX1tverl27tG3bNkny6quv5uCDD0779u1Lk8jV1tZm+fLlGTNmTM4///xG1fL000/n/PPPz+zZszf7PACguQndAMB6GjPT+gcnLFu8eHEWLFiQd999N8uXL09lZWU6d+78od9PPn369Jx++ulp06bNh/ocAGgunukGANbTmGekPxjMp02blp/85CcZPXp0Zs6cmZEjR2bq1Kkb7NuYCc+WL1+e008/PQMHDmxc0QCwDTLSDQA0aMiQIRkxYkSD+xYtWpR+/fqV1vv06ZM+ffqkZ8+eOfLIIzNq1Kicc845GTBgQMrLy1NTU5Pa2tpUVFSkpqYmy5Yty7JlyzY6gt26dev86U9/SmVlZf7f//t/W/38AKApCN0AQIOGDx++0We633zzzXrbKisr8/zzz2flypU56aSTMnXq1NIt6OPHj8/DDz+ce++9t9HHLy8vz1577ZXKysotPwkAaGZuLwcAtopbb701BxxwQI477rjU1NTknnvuyeOPP14vNM+fPz+PPfZYM1YJAE3LSDcA0KDNub18+vTpGT9+fK699to8++yzueOOO3LggQfmhBNOyMUXX5xOnTolSaZMmZJLLrkks2bNyu67794UpwEAzarZR7o///nPZ9y4cZtsN2XKlBx00EHp2rVrbr755uILA4CPuOHDh+fll19ucPnfk5vdfffdueGGG0pB+thjj83cuXMzf/78XHjhhaV2/fv3T69evTJo0KAmPRcAaC7NGronTJiQSZMmbbLdggUL0q9fv5x11ll5+umnM2HChEyePLkJKgQAGmP06NHrBfEf/vCHufjii9OuXbt624cNG5YHHnggL7/8clOWCADNotluL1+0aFG++93v5uMf//gm206YMCF77LFHrrnmmrRo0SI/+tGPMnbs2Pz93/99E1QKAB89tbW1ufrqq3P99dc3uP+9995L3759S+utWrVKkqxevTq1tbWpqanJySefnLPPPjsTJ07Mo48+mrZt2yZJjjvuuFRWVmbfffct/DwAoLk1W+j+7ne/m9NPPz0rV67cZNsZM2bkxBNPLL0z9Oijj87gwYM32qe6ujrV1dWl9aqqqg9XMABsJVcf0bW5S9ikVq1a5aabbsp5553X4P6hQ4dm9uzZ622vrq7OqlWrUlZWliuvvDJJMm7cuCxcuDAjR44stducwH3CCSdkzpw5m1U/AGwrmiV0T548OU888URmzpyZyy67bJPtq6qqcvDBB5fWO3TokHnz5m20z4033phhw4Z96Fqbw4i/LWzuEoAtsD0EKWishx9+eKP7NzQCftFFF633mrH7779/q9UFm2vJdvr3IHzUdbz22uYuYatp8me633///XzrW9/K7bffng4dOjSqT1lZWSoqKkrrbdq0yYoVKzbaZ/DgwVmyZElpeeONNz5U3QAAALC5mnyk+7rrrstRRx2VL33pS43u06VLlyxYsKC0vnTp0pSXl2+0T0VFRb2gDgAAAE2tyUP3L3/5yyxYsKD0vs4VK1bkvvvuyzPPPJOf/exnDfY56qij8qtf/aq0/uyzz2avvfZqinIBAABgizV56P7DH/6Qmpqa0vr3vve9HHPMMTn//PNTVVWVtm3bpnXr1vX69OvXL5deemkmT56c//N//k9GjRqVU045palLBwAAgM3S5KG7W7du9dbbt2+frl27pmvXrtl3330zevTonHbaafXadO3aNTfddFNOOeWUdOzYMTvttFPGjh3bhFUDAADA5mu2V4atM27cuNK/N/Y6kIEDB+bkk0/OrFmzcvzxxzd6EjYAAABoLs0eujdHjx490qNHj+YuAwB2eCeddFJmzJiR9u3bN7j/vffeS+/evfPAAw/U237XXXflsccey3333Zc1a9akuro6bdq0SYsWLUpt1j1mVla2Xf0ZAgBbxG87AGhityy+pUmPd3nnyze7T3l5eUaMGLHeO7fXGTp0aF555ZX1trdr1y5t27ZNkrz66qs5+OCD0759+7RsufYtpbW1tVm+fHnGjBmT888/f5N1DBs2LLfcckuWL1+e0047LXfddVd23nnnzT4fAGguQjcAsJ51IXljPjjx6eLFi7NgwYK8++67Wb58eSorK9O5c+esWrVqi2uYMGFCxo8fn0cffTRdunTJqaeemhEjRuSGG27Y4s8EgKYmdAMA6/ng7eAb8sFgPm3atPz617/O5MmT07p164wcOTKnnXZaTj311Ab71tbWplWrVhv9/Ndffz3jxo3L0UcfnSQ588wzM3Xq1M04CwBofkI3ANCgIUOGZMSIEQ3uW7RoUfr161da79OnT/r06ZOePXvmyCOPzKhRo3LOOedkwIABKS8vT01NTWpra1NRUZGamposW7Ysy5YtS5s2bTZ4/MGDB9dbnz17trldANjuCN0AQIOGDx++0We633zzzXrbKisr8/zzz2flypU56aSTMnXq1NIt6OPHj8/DDz+ce++9d4tqmT17dn7zm99k2rRpW9QfAJrLph/YAgBohFtvvTUHHHBAjjvuuNTU1OSee+7J448/nsrKylKb+fPn57HHHtusz62trc0FF1yQiy66KJ/85Ce3dtkAUCgj3QBAgzbn9vLp06dn/Pjxufbaa/Pss8/mjjvuyIEHHpgTTjghF198cTp16pQkmTJlSi655JLMmjUru+++e6PqGDZsWJYsWZJ//ud//tDnBABNzUg3ANCg4cOH5+WXX25wGThwYL22d999d2644YZSkD722GMzd+7czJ8/PxdeeGGpXf/+/dOrV68MGjSoUTU89NBDueWWW/Lggw+mXbt2W+/kAKCJCN0AwIc2evTo9YL4D3/4w1x88cXrheVhw4blgQceyMsvv7zRz3zhhRcyYMCA3HbbbenWrVuWLVuWFStWbPXaAaBIbi8HANZTW1ubq6++Otdff32D+99777307du3tL7u9V+rV69ObW1tampqcvLJJ+fss8/OxIkT8+ijj6Zt27ZJkuOOOy6VlZXZd999N1rDmDFjsmLFipx77rmlbfvss0/mzJnz4U4OAJqQ0A0ATezyzpc3dwmb1KpVq9x0000577zzGtw/dOjQzJ49e73t1dXVWbVqVcrKynLllVcmScaNG5eFCxdm5MiRpXabCtzJ2tHz0aNHb1H9ALCtELoBgPU8/PDDG92/oRHwiy66aL3XjN1///1brS4A2N54phsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGANZz0kknpWvXrtl3330bXDp16pQzzjhjvX533XVXvva1ryVJ1qxZk5UrV6aurq5em5qamtTU1DS6lldffTVTp07N+++//+FOCgCagfd0A0ATWzJsWJMer+O11252n/Ly8owYMWK9d26vM3To0LzyyivrbW/Xrl3atm2bZG1YPvjgg9O+ffu0bLn2e/7a2tosX748Y8aMyfnnn7/JOi677LLce++96dq1axYvXpwnnngiBx988GafDwA0F6EbAFjPupC8Ma1bty79e/HixVmwYEHefffdLF++PJWVlencuXNWrVq1xTU8+eSTmTRpUl599dW0b98+3/jGNzJy5Mj8/Oc/3+LPBICm5vZyAGA9LVq02GSbDwbzadOm5Sc/+UlGjx6dmTNnZuTIkZk6deoG+9bW1m7y89u1a5cxY8akffv2SZLDDjssixcvbkT1ALDtMNINADRoyJAhGTFiRIP7Fi1alH79+pXW+/Tpkz59+qRnz5458sgjM2rUqJxzzjkZMGBAysvLU1NTk9ra2lRUVKSmpibLli3LsmXL0qZNmw0e/5hjjin9+5133snYsWMzaNCgrXeCANAEhG4AoEHDhw/f6DPdb775Zr1tlZWVef7557Ny5cqcdNJJmTp1aukW9PHjx+fhhx/Ovffeu9l13HnnnfnOd76TE044oVHPgQPAtsTt5QDAVnHrrbfmgAMOyHHHHZeamprcc889efzxx1NZWVlqM3/+/Dz22GOb9bnnnntufvvb3+bFF1/MLbfcsrXLBoBCCd0AQIOGDBmSHj16NLj87Gc/q9d2+vTpGT9+fL797W+nZcuWueOOO9KvX79cccUVmTRpUqndlClTcuaZZ+btt99udB0VFRX5/Oc/n+uuuy533333Vjs/AGgKQjcA0KDhw4fn5ZdfbnAZOHBgvbZ33313brjhhuy+++5JkmOPPTZz587N/Pnzc+GFF5ba9e/fP7169WrUs9k33XRTJkyYUFovKytLq1atttLZAUDTELoBgA9t9OjR6wXxH/7wh7n44ovTrl27etuHDRuWBx54IC+//PJGP/PAAw/MoEGDMnny5MyePTsjR47MV7/61a1eOwAUyURqAMB6amtrc/XVV+f6669vcP97772Xvn37ltbXjUCvXr06tbW1qampycknn5yzzz47EydOzKOPPpq2bdsmSY477rhUVlZm33333WgN/fr1y1VXXZUBAwakpqYmF110Ub7//e9vnRMEgCYidANAE+t47bXNXcImtWrVKjfddFPOO++8BvcPHTo0s2fPXm97dXV1Vq1albKyslx55ZVJknHjxmXhwoUZOXJkqd2mAvc6V111Va666qrNPwEA2EYI3QDAeh5++OGN7t/QCPhFF1203mvG7r///q1WFwBsbzzTDQAAAAURugEAAKAgQjcAFKyurq65S9jh+RkDsK0SugGgIOtm9F61alUzV7LjW/cz9h5vALY1JlIDgIKUlZWlXbt2WbBgQVq3bp2WLX3XXYQ1a9ZkwYIFadeuXcrK/GkDwLbFbyYAKEiLFi2yxx575LXXXsvcuXObu5wdWsuWLbP33nunRYsWzV0KANQjdANAgcrLy3PggQe6xbxg5eXl7iQAYJskdANAwVq2bJk2bdo0dxkAQDPwlTAAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCDNGrrffffd/OlPf8rChQubswwAAAAoRLOF7nvvvTc9evTIpZdemr333jv33nvvJvv07ds3LVq0KC29e/dugkoBAABgy5Q1x0Hfe++9fOc738kf/vCH9OzZM/fcc09+8IMfpH///hvt99e//jXPPfdcunXrliRp3bp1U5QLAAAAW6RZQvfSpUszevTo9OzZM0ly2GGHZfHixRvt8+abb6aurq7UBwAAALZ1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8sgj6datW7p165bu3bvnE5/4RLp3715ErQAAALBd2azby++8886ceOKJufjii/NP//RPmTRpUnbZZZfMnTs3999/f773ve/lgAMOyK233lpUvQAAALDdaNRI99tvv50vfelLWbFiRX7961/nC1/4QmnfsGHDUl5eXlp/8MEHM3z48Fx22WVbv1oAAADYjjQqdO+222658sorc9ZZZ6Vly/9/cLxFixbrtf34xz9eL5QDAADAR1Wjbi9v2bJlvv71r9cL3ElSV1eXv/3tb3n//fdL23r27Jnrr79+61YJAAAA26FGP9P9f//v/82zzz673vYvfvGL6dSpU770pS/lL3/5y9asDQAAALZrjQ7dL7zwQo455picc845mT9/fmn7vHnzUllZmc997nPp3bt3brnllkIKBQAAgO1No0P37bffnpdeeinV1dU55JBD8stf/jL77LNPampq0r179/zgBz/I73//+/zTP/1Tfv3rXxdZMwAAAGwXNuuVYXvvvXfuu+++3H777bnkkkty7rnnpn379qX9hx12WO68885cfvnlWbJkyVYvFgAAALYnjZq9/H8788wz06NHj5x66qk577zzsv/++5f2nXHGGXnxxRez8847b7UiAQAAYHu0WSPdH9SrV6+89NJL2X///debYG3o0KHrzXQOAAAAHzWNHulesGBBysvL06JFi6xZsyZr1qzJI488kk984hPp06dPFi1aVGSdAAAAsN1pdOjec88907lz57z33nvp2LFjOnfunMsvvzwTJ05MWVlZfvnLXyZJdt5555xwwgluLwcAAOAjr9Gh+xOf+ESee+65fPKTn8xzzz2XAw88MC1atMi0adOyatWq/O53v0uSTJ8+Pd26dcvEiRMLKxoAAAC2B40O3S1atKj333WuvfbanHXWWbn77ruTJI899lj69u2b1atXp3Xr1luxVAAAANi+bPXZzo4++ui8/PLLAjcAAAAfeVs1dD/99NN58MEH07179635sQAAALBdanTonj17dvbff//Sf5NkzZo1qa2tTV1dXe6+++6ceuqpee+99xr1eQ899FD233//lJWV5dOf/nRmzZq1yT5TpkzJQQcdlK5du+bmm29ubOkAAADQLBodumfNmpWnnnoqc+fOzVNPPZUnn3wyLVu2TE1NTZYuXZqvfOUrmTlzZr773e9u8rNeeeWVXHDBBRkxYkTmzZuXffbZJxdddNFG+yxYsCD9+vXLWWedlaeffjoTJkzI5MmTG1s+AAAANLlGhe7ly5dn0qRJ2XPPPfOxj30sV111VSorKzNw4MB85jOfyRFHHJEOHTpkjz32aNRBZ82aleHDh+drX/taPvaxj+WSSy7JtGnTNtpnwoQJ2WOPPXLNNdfkwAMPzI9+9KOMHTu2UccDAACA5tCo2csrKytz/fXXZ9KkSbnrrruy22675Qtf+EIuuuiidOzYMYcffniGDBmSZO0t56tWrdro7d+nnnpqvfXZs2enR48eG61hxowZOfHEE0uzpx999NEZPHhwY8oHAACAZtGoke7DDz88M2fOTFlZWT73uc/lsssuy3/8x39kwoQJmT59erp27Zpddtklu+yyS7p06ZIuXbo0uoBVq1Zl1KhRGThw4EbbVVVVZb/99iutd+jQIfPmzdtg++rq6lRVVdVbAAAAoCk1+j3dnTt3zv33359LL700kyZNysUXX5yJEyemX79++cUvfpHddtttiwoYOnRo2rdvn29+85sbL7SsLBUVFaX1Nm3aZMWKFRtsf+ONN2bYsGFbVBMAm3bL4luauwRgC1ze+fLmLgHgI6XRoTtJWrRokZ/97Gel9eOOOy5//vOftzhw/+53v8sdd9yRqVOnbvK93l26dMmCBQtK60uXLk15efkG2w8ePDhXXnllab2qqsqrzAAAAGhSmxW6G7KpZ7E35NVXX83Xv/713H777Tn44IM32f6oo47Kr371q9L6s88+m7322muD7SsqKuqNjAMAAEBTa/Qrw7amlStX5tRTT81pp52Wf/iHf8iyZcuybNmy1NXVpaqqKqtXr16vT79+/fLUU09l8uTJqampyahRo3LKKac0Q/UAAADQOM0SuidNmpRZs2blzjvvzM4771xa5s6dm0MPPTQTJ05cr0/Xrl1z00035ZRTTskee+yRmTNnZujQoc1QPQAAADTOh769fEucdtppqaura3DfnDlzNthv4MCBOfnkkzNr1qwcf/zx6dChQ0EVAgAAwIfXLKH7w+jRo8cWP0cOAAAATalZbi8HAACAjwKhGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAgjRb6H733Xez3377Zc6cOY1q37dv37Ro0aK09O7du9gCAQAA4EMqa46DLly4MH379m104E6Sv/71r3nuuefSrVu3JEnr1q0Lqg4AAAC2jmYZ6e7fv3/69+/f6PZvvvlm6urq0rNnz3Tq1CmdOnXKTjvtVGCFAAAA8OE1S+geM2ZMLr/88ka3f+aZZ1JbW5tu3bplp512Sv/+/bN48eICKwQAAIAPr1lC9/77779Z7V966aX06tUrkyZNyrRp0zJnzpwMGTJko32qq6tTVVVVbwEAAICmtF3MXn711VfnkUceySGHHJKDDjooI0eOzAMPPLDRPjfeeGM6duxYWrp3795E1QIAAMBa20Xo/t86deqUhQsXprq6eoNtBg8enCVLlpSWN954owkrBAAAgO0kdJ9xxhmZOnVqaf0vf/lLdt9991RUVGywT0VFRTp06FBvAQAAgKa0TYXuqqqqrF69er3thx56aAYNGpQ///nPefjhh3PNNddk4MCBzVAhAAAANN42FboPPfTQTJw4cb3tgwcPzsEHH5w+ffrkiiuuyCWXXJLBgwc3Q4UAAADQeGXNefC6urp663PmzGmwXevWrTN27NiMHTu2CaoCAACArWObGukGAACAHYnQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAVpttD97rvvZr/99sucOXMa1X7KlCk56KCD0rVr19x8883FFgcAAABbQbOE7oULF+bUU09tdOBesGBB+vXrl7POOitPP/10JkyYkMmTJxdbJAAAAHxIzRK6+/fvn/79+ze6/YQJE7LHHnvkmmuuyYEHHpgf/ehHGTt2bIEVAgAAwIfXLKF7zJgxufzyyxvdfsaMGTnxxBPTokWLJMnRRx+d6dOnF1UeAAAAbBVlzXHQ/ffff7PaV1VV5eCDDy6td+jQIfPmzdton+rq6lRXV9f7DAAAAGhK28Xs5WVlZamoqCitt2nTJitWrNhonxtvvDEdO3YsLd27dy+6TAAAAKhnuwjdXbp0yYIFC0rrS5cuTXl5+Ub7DB48OEuWLCktb7zxRtFlAgAAQD3Ncnv55jrqqKPyq1/9qrT+7LPPZq+99tpon4qKinqj4wAAANDUtqmR7qqqqqxevXq97f369ctTTz2VyZMnp6amJqNGjcopp5zSDBUCAABA421TofvQQw/NxIkT19vetWvX3HTTTTnllFOyxx57ZObMmRk6dGgzVAgAAACN16y3l9fV1dVbnzNnzgbbDhw4MCeffHJmzZqV448/Ph06dCi4OgAAAPhwtotnutfp0aNHevTo0dxlAAAAQKNsU7eXAwAAwI5E6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABSk2UL3zJkzc9RRR6Vz58656qqrUldXt8k+ffv2TYsWLUpL7969m6BSAAAA2DLNErqrq6vTt2/f9OrVK9OmTcsLL7yQcePGbbLfX//61zz33HNZvHhxFi9enIceeqj4YgEAAGALNUvofuSRR7JkyZLcfPPNOeCAAzJ8+PCMHTt2o33efPPN1NXVpWfPnunUqVM6deqUnXbaqYkqBgAAgM3XLKF7xowZOeaYY9KuXbskyaGHHpoXXnhho32eeeaZ1NbWplu3btlpp53Sv3//LF68eIPtq6urU1VVVW8BAACAptQsobuqqir77bdfab1FixZp1arVRkP0Sy+9lF69emXSpEmZNm1a5syZkyFDhmyw/Y033piOHTuWlu7du2/VcwAAAIBNaZbQXVZWloqKinrb2rRpkxUrVmywz9VXX51HHnkkhxxySA466KCMHDkyDzzwwAbbDx48OEuWLCktb7zxxlarHwAAABqjrDkO2qVLl8ycObPetqVLl6a8vLzRn9GpU6csXLgw1dXV6wX4JKmoqGhwOwAAADSVZhnpPuqoozJ16tTS+pw5c1JdXZ0uXbpssM8ZZ5xRr89f/vKX7L777oI1AAAA26xmCd2f+9znsmTJkvziF79IkowYMSK9e/dOq1atUlVVldWrV6/X59BDD82gQYPy5z//OQ8//HCuueaaDBw4sKlLBwAAgEZrltvLy8rKMmbMmAwYMCBXXXVVamtrM2XKlCRrw/Xo0aNz2mmn1eszePDgzJ07N3369Mluu+2WSy65JIMHD26G6gEAAKBxmiV0J8lpp52WysrKTJs2LZ/5zGey6667Jll7q3lDWrdunbFjx27yfd4AAACwrWi20J0ke+21V/baa6/mLAEAAAAK0yzPdAMAAMBHgdANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBmi10z5w5M0cddVQ6d+6cq666KnV1dZvsM2XKlBx00EHp2rVrbr755iaoEgAAALZcs4Tu6urq9O3bN7169cq0adPywgsvZNy4cRvts2DBgvTr1y9nnXVWnn766UyYMCGTJ09umoIBAABgCzRL6H7kkUeyZMmS3HzzzTnggAMyfPjwjB07dqN9JkyYkD322CPXXHNNDjzwwPzoRz/aZB8AAABoTs0SumfMmJFjjjkm7dq1S5IceuiheeGFFzbZ58QTT0yLFi2SJEcffXSmT59eeK0AAACwpcqa46BVVVXZb7/9SustWrRIq1atsnjx4nTu3HmDfQ4++ODSeocOHTJv3rwNHqO6ujrV1dWl9SVLlpQ+Z1v3/rKlzV0CsAWqqsqbu4Qm9X7V+81dArAFqlpt+38LbU1V77tWwfaoxXaQ29Zly03NT9YsobusrCwVFRX1trVp0yYrVqzYYOj+333Wtd+QG2+8McOGDVtve/fu3bewaoCNW/+KA7DtuTpXN3cJAJs2YkRzV9BoS5cuTceOHTe4v1lCd5cuXTJz5sx625YuXZry8g2PEnXp0iULFixodPvBgwfnyiuvLK2vWbMmixYtyi677FK6RR2aUlVVVbp375433ngjHTp0aO5yABrkWgVsL1yvaG51dXVZunRp9txzz422a5bQfdRRR+Wuu+4qrc+ZMyfV1dXp0qXLRvv86le/Kq0/++yz2WuvvTbYvqKiYr3R9E6dOm150bCVdOjQwS8GYJvnWgVsL1yvaE4bG+Fep1kmUvvc5z6XJUuW5Be/+EWSZMSIEendu3datWqVqqqqrF69er0+/fr1y1NPPZXJkyenpqYmo0aNyimnnNLUpQMAAECjNdsz3WPGjMmAAQNy1VVXpba2NlOmTEmydibz0aNH57TTTqvXp2vXrrnppptyyimnpGPHjtlpp528MgwAAIBtWrOE7iQ57bTTUllZmWnTpuUzn/lMdt111yRrbzXfkIEDB+bkk0/OrFmzcvzxx7uNhO1KRUVFrr322vUeewDYlrhWAdsL1yu2Fy3qNjW/OQAAALBFmuWZbgAAAPgoaLbby2F7ctJJJ2XGjBlp3759g/vfe++99O7dOw888EC97XfddVcee+yx3HfffVmzZk2qq6vTpk2beq+tq6mpSbJ2rgOAD8O1CtgebEvXqldffTXvvPNODj/88LRp02YLzwg2zkg3NEJ5eXlGjBiROXPmNLh8+9vfTuvWrdfr165du7Rt2zbJ2ot6x44ds8suu6Rr167p2rVrOnfunHbt2mX8+PGNruXpp5/Oxz/+8a12bsCOY1u5Vg0bNixdunRJRUVFzjzzzCxdunSrniewfdtWrlWXXXZZjjnmmFx44YXZb7/98sILL2zV84R1fF0NjdCy5aa/n/rgL4fFixdnwYIFeffdd7N8+fJUVlamc+fOWbVq1YeqY/r06Tn99NN9Ews0aFu4Vk2YMCHjx4/Po48+mi5duuTUU0/NiBEjcsMNN2zxZwI7lm3hWvXkk09m0qRJefXVV9O+fft84xvfyMiRI/Pzn/98iz8TNsRINzTCB29b2pAP/gKZNm1afvKTn2T06NGZOXNmRo4cmalTp26wb21t7SY/f/ny5Tn99NMzcODAxhUNfORsC9eq119/PePGjcvRRx+dHj165Mwzz8y0adMadwLAR8K2cK1q165dxowZU7rF/bDDDsvixYsbUT1sPrOXQyOceuqpeeaZZzb4mrpFixalX79+GTduXL3tPXv2zJFHHpnRo0fnnHPOyZQpU1JeXp6amprU1tamoqIiNTU1WbZsWZYtW7bREexVq1ZlwYIFqayszPnnn7/R1+sBH03bwrXqf+vfv3922WWX/PSnP/0wpwbsQLa1a9U777yTPn36ZNCgQTn//PM/5NnB+txeDo00fPjwXHTRRQ3uGzp0aN5888162yorK/P8889n5cqVOemkkzJ16tTSrVLjx4/Pww8/nHvvvbfRxy8vL89ee+2VysrKLT8JYIfX3NeqD5o9e3Z+85vfGOkG1rOtXKvuvPPOfOc738kJJ5wgcFMYt5dDQW699dYccMABOe6441JTU5N77rknjz/+eL3QPH/+/Dz22GPNWCXwUVfUtaq2tjYXXHBBLrroonzyk5/c2mUDHzFFXavOPffc/Pa3v82LL76YW265ZWuXDUmEbmi0IUOGpEePHg0uP/vZz+q1nT59esaPH59vf/vbadmyZe64447069cvV1xxRSZNmlRqN2XKlJx55pl5++23m/p0gB3UtnKtGjZsWJYsWZJ//ud/3mrnBuw4tpVrVUVFRT7/+c/nuuuuy913373Vzg8+SOiGRho+fHhefvnlBpf/PbnZ3XffnRtuuCG77757kuTYY4/N3LlzM3/+/Fx44YWldv3790+vXr0yaNCgJj0XYMe1LVyrHnroodxyyy158MEH065du613csAOo7mvVTfddFMmTJhQWi8rK0urVq220tlBfUI3FGD06NHr/cL44Q9/mIsvvni9P0CHDRuWBx54IC+//HJTlghQyLXqhRdeyIABA3LbbbelW7duWbZsWVasWLHVawc+Ooq4Vh144IEZNGhQJk+enNmzZ2fkyJH56le/utVrh8REatAotbW1ufrqq3P99dc3uP+9995L3759S+vrvildvXp1amtrU1NTk5NPPjlnn312Jk6cmEcffTRt27ZNkhx33HGprKzMvvvuW/h5ADu2beFaNWbMmKxYsSLnnntuads+++zjjQtAybZwrerXr1+uuuqqDBgwIDU1Nbnooovy/e9/f+ucIPwvQjc0QqtWrXLTTTflvPPOa3D/0KFDM3v27PW2V1dXZ9WqVSkrK8uVV16ZJBk3blwWLlyYkSNHltptTuA+4YQT/PEKNGhbuFaNHj06o0eP3qL6gY+GbeFalSRXXXVVrrrqqs0/AdhM3tMNAAAABfFMNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEG8MgwAPgJOOumkzJgxI+3bt29w/3vvvZfevXvngQceKG2766678thjj+W+++7LmjVrUl1dnTZt2qRFixalNjU1NUmSsjJ/UgBAQ4x0A8BHQHl5eUaMGJE5c+Y0uHz7299O69at6/Vp165d2rZtmyR59dVX07Fjx+yyyy7p2rVrunbtms6dO6ddu3YZP358c5wSAGwXfC0NAB8BLVtu+nv2daF78eLFWbBgQd59990sX748lZWV6dy5c1atWlV0mQCwwxG6AeAj4IO3hG/IumA+bdq0/PrXv87kyZPTunXrjBw5MqeddlpOPfXUBvvV1tamVatWW7VeANhRtKirq6tr7iIAgGKdeuqpeeaZZ9KhQ4cG9y9atCj9+vXLuHHjStt69uyZI488MqNHj84555yTKVOmpLy8PDU1NamtrU1FRUVqamqybNmyLFu2LG3atGmiswGA7YeRbgD4iBg+fHguuuiiBvcNHTo0b775Zmm9srIyzz//fFauXJmTTjopU6dOLd1+Pn78+Dz88MO59957m6RuANiemUgNAFjPrbfemgMOOCDHHXdcampqcs899+Txxx9PZWVlqc38+fPz2GOPNWOVALDtM9INAB8RQ4YMyYgRIxrct+728iSZPn16xo8fn2uvvTbPPvts7rjjjhx44IE54YQTcvHFF6dTp05JkilTpuSSSy7JrFmzsvvuuzfVaQDAdsVINwB8RAwfPjwvv/xyg8vAgQNL7e6+++7ccMMNpSB97LHHZu7cuZk/f34uvPDCUrv+/funV69eGTRoUJOfCwBsL4RuAKCe0aNH1wvhSfLDH/4wF198cdq1a1dv+7Bhw/LAAw/k5ZdfbsoSAWC74fZyAPgIqK2tzdVXX53rr7++wf3vvfde+vbtmySl13+tXr06tbW1qampycknn5yzzz47EydOzKOPPpq2bdsmSY477rhUVlZm3333bZLzAIDtjdANAB8BrVq1yk033ZTzzjuvwf1Dhw7N7Nmz622rrq7OqlWrUlZWliuvvDJJMm7cuCxcuDAjR44stRO4AWDDvKcbAAAACuKZbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAX5/wDv3T1DOak5TwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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M92hWUtmqAEAAM/CTCkAAHDCQkNDdfHFF+uVV15p0fkVFRXq379/g1kvzz77rM4++2y99dZbDc69/PLLlZCQoL/97W+S6mYrVVdXn1Cdmzdv1g8//HDCjdPrZxR9/fXXOueccyRJCxcu1OOPP67du3frvffe0wcffKCLLrrI/ZzrrrvOHULVqw9OoqKiFBMTI0my2Wzy9/d335fU7EywefPmqaCgQBaLRSNHjpTdbldISIgyMjKUkpKiuLg4+fn56dxzz9W8efNkGIYcDod7tlKPHj30wgsvqKKiQn/96181dOhQderUSQ6HQ48++mijWVuS3EvpjpSZman7779fd911V5OPJyUl6YMPPtAll1yis846S2+99Zb69esnSUpPT5fT6VRcXJwk6corr9QXX3zh7tXl5+engoIC3XTTTfr73/+uLl26yDAM1dbWauPGjRo2bJj7ff7xj3+4//9YzeGbC9cAAIB5CKUAAMBJ6dq1q+Li4lReXq6goKCj9jSqqKhQz5493eHMxo0b9c4772jBggUNQhmpLggKCQlpdPxEvPfeeyfdn6qp5V9+fn667777NGbMmAaBlFQ3u+q3oVT965x77rmNjv92ps/ZZ5/d4H5hYaGeeOIJxcfHS5ICAgIUEREhSXr//feVkpKiyspKjR07VosWLdKLL74oq9WqwMDARu/16KOPav/+/e7Ab/ny5c2GOr8dd3Z2ti6++GIlJSXppptuUnZ2dpOfbZ8+fbR48WLdeeedGjp0qB577DE98MAD+u6773TWWWe5z7v11lt1/vnn69///reCgoLc7zd//nzV1NRo3759crlccjqd6tKlS5M1SnWhU3V1tcrKyhocr5+pRSgFAIDnIZQCAAAn7M0335Qk7d69W0lJSUc99/zzz9cXX3yh3bt3u499++236tWrl6655pq2LLPVG6Yfac6cOSorK9M111yj2bNna8CAAZLq+l811VzbMAz9+9//dgczb7/9th5//HF3Q25Jevjhh927GdZ7/vnn1adPH51++ukqLCx0Hy8sLNSLL76op59+Wi+88IJGjRqlVatW6ZlnntFf//rXRu+/fPly/e///q/uvvtu9ezZU8XFxXK5XM2GiQ6HQ9XV1bLZbDIMQ9dcc438/f01e/Zs93LG5sTFxWnDhg269tpr3Z9Lz549lZKSooMHD7rP69Onj7p3796gN9VvFRcXN+oXJUl79+5Vjx495HA4NHfuXM2dO7fJ5x/ZZwsAAHgGekoBAICTFh8fr+3btysnJ0d79+5Vfn6+9uzZo3vuuUcBAQHq06ePrr322kbPu/vuu7Vt2zZZrVatX79emZmZ2rJli7Zs2aKKigrZ7Xb3/c2bNzcIbsxw7rnnuvtb1e9+d8opp2j48OHKzs7Wf//3f7vPbW6mVH0AZLVa3TOZLBaL+77ValVAQON/N3z44Ye1dOnSRgHbfffdp4iICN1www3uY0899ZTmzp2rNWvWNDj3m2++0bXXXivDMNyzjm699VZ3L6cjbzExMYqIiFCPHj101113SaqbzbV8+XJ9/fXXmjBhgg4cOCC73a74+Hg9+uijDXa9u+WWW9SrVy91795dn3/+uX7/+99Lkm688UZNmDCh0fiCgoIUHx+v2traBreNGzfK6XQ2GfD99NNP6tevn7Zt26YtW7Zo27ZtkuqCqq+//lr+/v4yDEOGYTT5ngAAwFzMlAIAACetPniqV1lZqaFDh2rv3r168sknde+99za5jEyqm8VUVlam1NRUhYSEuJdvlZWVaePGjfr6668l1fUM6tmzpzIyMtp+QM145513dPrpp0uS3n333QY9je655x5de+21evLJJ9WzZ89GO8ZJcvfEGjduXKPX/u3n89vle8HBwY1mo/33f/+33nzzTX399dcNnn/eeefp7rvv1oUXXqgPPvjA/VpPP/20LrroIhUXF0uqC2+efvrpRk3EJenLL7/UI488ov/85z9yOByqra1VQECAoqOj3ed07dpVdrtde/fu1fDhwxvMZDpw4IASExMbvW5zjjWb7befj2EYuueee3TWWWe5+1Xt3btXfn5+7h0MAQCAZyOUAgAAJ2zz5s0yDKPRzB6Xy6UdO3Zozpw5uvTSS7Vjxw73Y9XV1YqOjm7QKyosLEy1tbUNXuOcc85Rr169tHDhwjYdw/Ho1q2bu6fTb4OPyy67TDabTW+//bYeeOABVVZWNmpYHhQUpMrKygbHli1bpscee0y//PJLg+NHC2kqKyt100036bXXXtPzzz+v4cOHN/j8XC6X/vrXv2rv3r0699xzNX/+fN10001avny5goKCNGnSJEl1s6yWL1+ugICARj2tamtrVVFRoUGDBsnhcCg3N7fJ/l4fffSRLBZLo4bnubm5Ou+885od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slhocn4kQikAAAAAAIA2Ut/kfAj9pBohlAIAAAAAAGgjaTl1M6WGEko1QigFAAAAAADQBqpqnNq6v1QSTc6bQigFAAAAAADQBjLzS1TrMtQ1LEixNqvZ5XgcQikAAAAAAIA2kJ5TLIkm580hlAIAAAAAAGgD6e6d9+gn1RRCKQAAAAAAgDaQnksodTSEUgAAAAAAAK2szFGrHQfKJElD4iLNLcZDmRpKHTp0SD/++KMOHjxoZhkAAAAAAACtKiPPLsOQetis6hYebHY5Hsm0UOqtt95S3759deeddyoxMVFvvfWWJOmuu+6SxWJx3/r27WtWiQAAAAAAACckPbdYUl2TczTNlFCquLhYd911l/7zn//o559/1iuvvKIHH3xQkrR+/Xp9/PHHKioqUlFRkX7++WczSgQAAAAAADhhafX9pBLoJ9WcADPetLS0VM8//7wGDx4sSRo6dKiKiopUW1urjIwMjR07VmFhYWaUBgAAAAAAcNI21YdS9JNqlikzpRISEjRt2jRJUk1NjZ599lldfvnlSk9Pl2EYGjZsmEJCQjR+/HhlZ2c3+zoOh0MlJSUNbgAAAAAAAGYqKq9WdmGFJGkIO+81y9RG52lpaerevbs+++wzPf/888rKytKgQYO0bNkyZWZmKjAwULfddluzz587d65sNpv7lpCQ0I7VAwAAAAAANJaeVzdLKqlrJ9lCAk2uxnNZDMMwzHpzwzC0ceNG3XfffYqIiNC//vWvBo/v2bNHvXv3VlFRkSIiIho93+FwyOFwuO+XlJQoISFBdru9yfMBAAAAAADa2gtfbdOzn23V74f20N+nnGZ2Oe2upKRENpvtmPmMKT2l6lksFp122mlauHChevbsqaKiInXu3Nn9eGRkpFwul/Lz85scRHBwsIKD2VYRAAAAAAB4DneTc5buHZUpy/e++uor3X///e77AQF12djjjz+ud955x3187dq18vPzY1keAAAAAADwGum5xZKkoQmRptbh6UyZKTVgwABNmjRJ/fr100UXXaRHHnlEv/vd73Taaafp4YcfVkxMjGpra3XXXXdp+vTpCg0NNaNMAAAAAACA47K/pEr7Sxzys0iDetBa6GhMCaV69Oihd999V//1X/+l++67TxdeeKHefPNNdevWTVlZWbr00ksVHh6uyy67THPmzDGjRAAAAAAAgOOWfnjpXr/o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2WW0urvuuksWi8V969u3r9kltZk///nPmjhxotlltLqFCxc2+BrW33zt+/XNN99UYmKiwsLCNG7cOJ/8++P111/X4MGDFRkZqSlTpvjML8BN/Z2fkZGhlJQUde7cWffff7+8fV+a5q5rfOl6p6mx+Nr1TlNj9LXrnWN9T/rC9U5TY/S1652jfR195Xrnt2P0xeudpr6Ovna909QYffV6p1kGPM6BAweM0aNHG5KMXbt2mV1Oq9u+fbvRuXNn4+233zb27dtnXHXVVcaYMWPMLqtVFRUVGV27djU2bdpkGIZhLFq0yEhMTDS5qrazePFiQ5Lx+uuvm11Kqzv99NONjz/+2CgqKjKKioqMkpISs0tqE5s2bTLCw8ON7du3m11Kq3M4HO6vX1FRkZGTk2N07drV2LFjh9mltZrt27cbCQkJxvr16409e/YYN954o3H22WebXVar+vzzz42wsDDjs88+M3bv3m1cfPHFxplnnml2WSetqb/zq6qqjF69ehm33XabsX37duPiiy82XnvtNXMLPQnNXdf40vVOU2Pxteudpsboa9c7x/qe9IXrnebG6EvXO0f7OvrK9U5TY/S1653mfq760vVOU2P01eudo2GmlAeaPHmyJk+ebHYZbSYrK0tz5szR1Vdfre7du2vmzJlat26d2WW1qtLSUj3//PMaPHiwJGno0KEqKioyuaq2UVhYqD/96U/q37+/2aW0utraWmVkZGjs2LGKjIxUZGSkwsPDzS6r1RmGodtuu0333HOP+vTpY3Y5rS4oKMj99YuMjNSiRYt0+eWXq3fv3maX1mp+/vlnjR49WsOHD1diYqJmzJihrVu3ml1Wq1q0aJFuvvlmXXDBBerZs6f+3//7f/r+++916NAhs0s7KU39nf/JJ5/IbrfrueeeU58+fTRnzhy9+uqrJlV48pq7rvGl652mxuJr1ztNjdHXrneO9j3pK9c7TY3R1653mvs6+tL1TlNj9LXrnabG6GvXO02N0Vevd47K7FQMjdWn2fKBfzlsiZdeeskYOHCg2WW0merqauO6664zbrjhBrNLaRPTp083br/9duOGG27w6n85bMr69euNsLAwo0+fPobVajUuvPBCY8+ePWaX1epeeeUVIzQ01HjttdeMFStWGNXV1WaX1GYqKyuN6Ohon/vZunnzZqNLly7Ghg0bjOLiYmPy5MnG9ddfb3ZZreqiiy4ynnvuOff9LVu2GJKM4uJiE6s6eU39nf/YY48ZF110kfscl8tldO7c2YzyWkVz1zW+dL3TkrF4+/XOscboC9c7Rxujr1zvNDVGX7veae7r6EvXO8f68+gL1ztNjdHXrneaGqOvXu8cDTOlPJC3ptknorq6Ws8++6zuuOMOs0tpE2lpaerevbs+++wzPf/882aX0+q+/vprffnll3r66afNLqVNZGVladCgQVq2bJkyMzMVGBio2267zeyyWlVZWZkeeeQR9evXT7m5uXruuec0duxYVVVVmV1am1i6dKlGjx6tXr16mV1Kqxo4cKCuvPJKDR8+XJGRkVq9erWeffZZs8tqVcOGDdOHH37o7q30+uuva9SoUbLZbCZXdnKa+ju/pKRESUlJ7vsWi0X+/v5eOwOluesaX7reOdZYfOF652hj9JXrnebG6EvXO02N0deud5oao69d7xzrZ44vXO80NUZfu95paoy+er1zNIRSMNUjjzyisLAw3XrrrWaX0iaSk5P15ZdfatCgQZoxY4bZ5bSqqqoq3XbbbXrppZcUERFhdjltYtq0aVq1apVSUlKUlJSkF154QZ999plKSkrMLq3VvP/++yovL9dXX32lRx99VJ999pmKi4u1aNEis0trEy+//LJuv/12s8todatWrdKKFSu0evVqlZaWasqUKbr44ou9vjn2ke677z5VV1drxIgRGjNmjJ5++mn94Q9/MLusNhEQEKDg4OAGx6xWqyoqKkyqCCeL6x3vxfWOb+B6xzdwveObCKVgms8//1wvv/yyli5dqsDAQLPLaRMWi0WnnXaaFi5cqOXLl3vtv3I35YknnlBKSoouueQSs0tpN5GRkXK5XMrPzze7lFaTm5ur1NRURUVFSar7ZTg5OVm7du0yubLWt337dm3fvl3jxo0zu5RW9/bbb2vy5MkaNWqUwsLC9OSTT2rnzp1KS0szu7RWExUVpR9++EHvvPOOkpOTNWDAAE2dOtXsstpEVFSUDhw40OBYaWmpgv5/e/cfU1X9x3H8Bdx7B4HOlOBiA738MCX64c+KHGvF1BabzomtxZBca+WiDG2y1RppS1ebUbGFxmxliqMULdaca0axZj9Y0WDWzK7YaIHDjMWPC/eee75/tO68gHbDy73jfJ+P7Yydz+75nPfnMLjv+77n8zkOR5QiwrUg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",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入有效的学生编号（数字）。\n",
      "请输入有效的学生编号（数字）。\n",
      "请输入有效的学生编号（数字）。\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import os\n",
    "import zipfile\n",
    "\n",
    "# 设置 Matplotlib 的字体为支持中文的字体\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体\n",
    "plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题\n",
    "\n",
    "class GradeAnalysisTarget:\n",
    "    def __init__(self, file_path):\n",
    "        \"\"\"\n",
    "        初始化，读取 Excel 文件并处理数据\n",
    "        \"\"\"\n",
    "        try:\n",
    "            self.data = pd.read_excel(file_path, engine='openpyxl')\n",
    "            print(\"数据加载成功！\")\n",
    "            print(self.data.head())  # 打印前几行数据，检查数据是否正确加载\n",
    "        except Exception as e:\n",
    "            print(f\"数据加载失败，请检查文件路径或文件格式。错误信息：{e}\")\n",
    "            self.data = None  # 如果加载失败，将 self.data 设置为 None\n",
    "\n",
    "    def analyze_targets(self):\n",
    "        \"\"\"\n",
    "        分析目标对应的题目得分，并计算每个学生在目标中的得分\n",
    "        \"\"\"\n",
    "        if self.data is None:  # 如果数据未加载，直接返回\n",
    "            print(\"数据未加载，无法分析目标得分。\")\n",
    "            return\n",
    "\n",
    "        # 获取所有题目列\n",
    "        question_columns = self.data.columns[2:-2]  # 去除选择题总分、编程题总分和总分列\n",
    "\n",
    "        # 输入目标\n",
    "        targets = {}\n",
    "        target_index = 1\n",
    "        while True:\n",
    "            print(f\"示例输入格式：1 2 （表示目标 {target_index} 包含第 1、2 题）\")\n",
    "            target_input = input(f\"请输入目标 {target_index} 对应的题目编号（用空格分隔，输入 'h' 结束）：\")\n",
    "            if target_input.lower() == 'h':\n",
    "                break\n",
    "            try:\n",
    "                # 将输入的题目编号转换为列表\n",
    "                question_indices = [int(q.strip()) for q in target_input.split()]  # 转换为1-based索引\n",
    "                # 检查题目编号是否有效\n",
    "                valid_indices = [idx for idx in question_indices if 1 <= idx <= len(question_columns)]\n",
    "                if len(valid_indices) != len(question_indices):\n",
    "                    print(\"输入的题目编号无效，请重新输入。\")\n",
    "                    continue\n",
    "                # 转换为0-based索引\n",
    "                question_indices = [idx - 1 for idx in valid_indices]\n",
    "                targets[f\"目标 {target_index}\"] = question_indices\n",
    "                target_index += 1\n",
    "            except ValueError:\n",
    "                print(\"输入格式错误，请输入有效的题目编号（用空格分隔）。\")\n",
    "\n",
    "        if not targets:\n",
    "            print(\"未输入任何目标。\")\n",
    "            return\n",
    "\n",
    "        # 创建一个新的 DataFrame 用于存储目标得分结果\n",
    "        result_data = self.data[['ID', '姓名']].copy()\n",
    "\n",
    "        # 计算每个学生在每个目标中的得分\n",
    "        for target_name, question_indices in targets.items():\n",
    "            target_column = f\"{target_name} 总分\"\n",
    "            result_data[target_column] = 0\n",
    "            for idx in question_indices:\n",
    "                result_data[target_column] += self.data[question_columns[idx]]\n",
    "            print(f\"\\n{target_name} 的得分情况：\")\n",
    "            print(result_data[['ID', '姓名', target_column]])\n",
    "\n",
    "        # 询问用户是否保存结果\n",
    "        save_option = input(\"\\n是否将目标成绩结果保存为 Excel 文件？（输入 'y' 保存，其他键跳过）：\")\n",
    "        if save_option.lower() == 'y':\n",
    "            output_file = \"目标成绩结果.xlsx\"\n",
    "            result_data.to_excel(output_file, index=False)\n",
    "            print(f\"所有目标成绩的结果已保存为 {output_file}\")\n",
    "        else:\n",
    "            print(\"未保存结果。\")\n",
    "\n",
    "        # 绘制每道题学生所得总分的柱状图\n",
    "        self.plot_question_scores(question_columns)\n",
    "\n",
    "        # 绘制每个目标的达成度柱状图\n",
    "        self.plot_target_achievement(result_data, targets)\n",
    "\n",
    "        # 允许用户不停选择生成某个学生的目标达成情况和题目得分情况\n",
    "        while True:\n",
    "            student_id = input(\"\\n请输入要生成目标达成度和得分情况的学生编号（输入0退出）：\")\n",
    "            if student_id == '0':\n",
    "                break\n",
    "            try:\n",
    "                student_id = int(student_id)\n",
    "                # 生成该学生的目标达成度柱状图和题目得分情况折线图\n",
    "                self.plot_student_target_achievement(result_data, targets, student_id)\n",
    "                self.plot_student_scores(question_columns, student_id)\n",
    "\n",
    "                # 询问用户是否下载图表\n",
    "                download_option = input(\"是否下载该学生的目标达成度和得分情况图表？（输入 'y' 下载，其他键跳过）：\")\n",
    "                if download_option.lower() == 'y':\n",
    "                    download_path = input(\"请输入保存路径（例如：C:\\\\Users\\\\YourName\\\\Desktop\\\\）：\")\n",
    "                    self.download_student_charts(student_id, download_path)\n",
    "            except ValueError:\n",
    "                print(\"请输入有效的学生编号（数字）。\")\n",
    "\n",
    "    def plot_question_scores(self, question_columns):\n",
    "        \"\"\"\n",
    "        绘制每道题学生所得总分的柱状图\n",
    "        \"\"\"\n",
    "        plt.figure(figsize=(12, 6))\n",
    "        # 计算每道题的总得分\n",
    "        question_scores = self.data[question_columns].sum()\n",
    "        # 绘制柱状图\n",
    "        plt.bar(range(1, len(question_columns) + 1), question_scores, color='skyblue')\n",
    "        plt.xlabel('题目编号')\n",
    "        plt.ylabel('总得分')\n",
    "        plt.title('每道题学生所得总分的柱状图')\n",
    "        plt.xticks(range(1, len(question_columns) + 1))\n",
    "        plt.tight_layout()\n",
    "        plt.show()\n",
    "\n",
    "    def plot_target_achievement(self, result_data, targets):\n",
    "        \"\"\"\n",
    "        绘制每个目标的达成度柱状图\n",
    "        \"\"\"\n",
    "        plt.figure(figsize=(12, 6))\n",
    "        colors = ['skyblue', 'lightgreen', 'lightcoral']  # 定义三种颜色\n",
    "        for i, (target_name, question_indices) in enumerate(targets.items()):\n",
    "            target_column = f\"{target_name} 总分\"\n",
    "            plt.bar(result_data['ID'] + i * 0.2, result_data[target_column], width=0.2, label=target_name, color=colors[i % len(colors)])\n",
    "        plt.xlabel('学生ID')\n",
    "        plt.ylabel('得分')\n",
    "        plt.title('每个目标的达成度柱状图')\n",
    "        plt.legend()\n",
    "        plt.tight_layout()\n",
    "        plt.show()\n",
    "\n",
    "    def plot_student_target_achievement(self, result_data, targets, student_id):\n",
    "        \"\"\"\n",
    "        生成某个学生的目标达成度柱状图\n",
    "        \"\"\"\n",
    "        student_data = result_data[result_data['ID'] == student_id]\n",
    "        if not student_data.empty:\n",
    "            plt.figure(figsize=(10, 6))\n",
    "            colors = ['skyblue', 'lightgreen', 'lightcoral']  # 定义三种颜色\n",
    "            for i, target_name in enumerate(targets.keys()):\n",
    "                target_column = f\"{target_name} 总分\"\n",
    "                plt.bar(target_name, student_data[target_column].values[0], label=target_name, color=colors[i % len(colors)])\n",
    "            plt.xlabel('目标')\n",
    "            plt.ylabel('得分')\n",
    "            plt.title(f'学生 {student_id} 的目标达成度')\n",
    "            plt.legend()\n",
    "            plt.tight_layout()\n",
    "            plt.show()\n",
    "        else:\n",
    "            print(f\"未找到编号为 {student_id} 的学生。\")\n",
    "\n",
    "    def plot_student_scores(self, question_columns, student_id):\n",
    "        \"\"\"\n",
    "        生成某个学生的题目得分情况折线图\n",
    "        \"\"\"\n",
    "        student_data = self.data[self.data['ID'] == student_id]\n",
    "        if not student_data.empty:\n",
    "            plt.figure(figsize=(12, 6))\n",
    "            scores = student_data[question_columns].values.flatten()\n",
    "            plt.plot(range(1, len(question_columns) + 1), scores, marker='o', label=f'学生 {student_id}')\n",
    "            plt.xlabel('题目编号')\n",
    "            plt.ylabel('得分')\n",
    "            plt.title(f'学生 {student_id} 的单体得分情况')\n",
    "            plt.xticks(range(1, len(question_columns) + 1))\n",
    "            plt.legend()\n",
    "            plt.tight_layout()\n",
    "            plt.show()\n",
    "        else:\n",
    "            print(f\"未找到编号为 {student_id} 的学生。\")\n",
    "\n",
    "    def download_student_charts(self, student_id, download_path):\n",
    "        \"\"\"\n",
    "        将某个学生的目标达成度柱状图和题目得分情况折线图保存到指定路径\n",
    "        \"\"\"\n",
    "        # 生成目标达成度柱状图并保存\n",
    "        student_data = self.data[self.data['ID'] == student_id]\n",
    "        if not student_data.empty:\n",
    "            plt.figure(figsize=(10, 6))\n",
    "            colors = ['skyblue', 'lightgreen', 'lightcoral']  # 定义三种颜色\n",
    "            for i, target_name in enumerate(self.targets.keys()):\n",
    "                target_column = f\"{target_name} 总分\"\n",
    "                plt.bar(target_name, student_data[target_column].values[0], label=target_name, color=colors[i % len(colors)])\n",
    "            plt.xlabel('目标')\n",
    "            plt.ylabel('得分')\n",
    "            plt.title(f'学生 {student_id} 的目标达成度')\n",
    "            plt.legend()\n",
    "            plt.tight_layout()\n",
    "            target_chart_path = os.path.join(download_path, f\"学生{student_id}_目标达成度.png\")\n",
    "            plt.savefig(target_chart_path, bbox_inches='tight')  # 保存图像\n",
    "            plt.close()\n",
    "\n",
    "            # 生成题目得分情况折线图并保存\n",
    "            plt.figure(figsize=(12, 6))\n",
    "            scores = student_data[self.question_columns].values.flatten()\n",
    "            plt.plot(range(1, len(self.question_columns) + 1), scores, marker='o', label=f'学生 {student_id}')\n",
    "            plt.xlabel('题目编号')\n",
    "            plt.ylabel('得分')\n",
    "            plt.title(f'学生 {student_id} 的单体得分情况')\n",
    "            plt.xticks(range(1, len(self.question_columns) + 1))\n",
    "            plt.legend()\n",
    "            plt.tight_layout()\n",
    "            score_chart_path = os.path.join(download_path, f\"学生{student_id}_得分情况.png\")\n",
    "            plt.savefig(score_chart_path, bbox_inches='tight')  # 保存图像\n",
    "            plt.close()\n",
    "\n",
    "            print(f\"学生 {student_id} 的图表已保存到 {download_path}\")\n",
    "        else:\n",
    "            print(f\"未找到编号为 {student_id} 的学生。\")\n",
    "\n",
    "\n",
    "# 主程序\n",
    "if __name__ == \"__main__\":\n",
    "    file_path = input(\"请输入 Excel 文件路径：\")\n",
    "    analysis = GradeAnalysisTarget(file_path)\n",
    "\n",
    "    # 目标分析功能\n",
    "    print(\"\\n开始目标分析：\")\n",
    "    analysis.analyze_targets()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "class GradeAnalysis:\n",
    "    def __init__(self, file_path):\n",
    "        \"\"\"\n",
    "        初始化，读取 Excel 文件并处理数据\n",
    "        \"\"\"\n",
    "        try:\n",
    "            self.data = pd.read_excel(file_path, engine='openpyxl')\n",
    "            self.students = self._process_data()\n",
    "            print(\"数据加载成功！\")\n",
    "        except Exception as e:\n",
    "            print(f\"数据加载失败，请检查文件路径或文件格式。错误信息：{e}\")\n",
    "            exit()\n",
    "\n",
    "    def _process_data(self):\n",
    "        \"\"\"\n",
    "        处理 Excel 数据并存储为字典格式\n",
    "        \"\"\"\n",
    "        students = {}\n",
    "        for _, row in self.data.iterrows():\n",
    "            student_id = str(row['ID'])  # 学生ID\n",
    "            students[student_id] = {\n",
    "                \"name\": row['姓名'],  # 学生姓名\n",
    "                \"scores\": row[2:-2].tolist(),  # 各题得分（去除选择题总分、编程题总分和总分列）\n",
    "                \"total\": row['总分']  # 总分\n",
    "            }\n",
    "        return students\n",
    "\n",
    "    def grade_distribution(self):\n",
    "        \"\"\"\n",
    "        统计成绩分布：成绩区间人数\n",
    "        \"\"\"\n",
    "        bins = [0, 60, 70, 80, 90, 100]  # 分数区间\n",
    "        labels = ['不及格', '及格', '中等', '良好', '优秀']\n",
    "        self.data['分数区间'] = pd.cut(self.data['总分'], bins=bins, labels=labels, right=False)\n",
    "        distribution = self.data['分数区间'].value_counts().sort_index()\n",
    "        return distribution\n",
    "\n",
    "    def pass_rate_and_average(self):\n",
    "        \"\"\"\n",
    "        统计及格率和平均分\n",
    "        \"\"\"\n",
    "        total_students = len(self.data)\n",
    "        passed_students = len(self.data[self.data['总分'] >= 60])\n",
    "        pass_rate = passed_students / total_students * 100\n",
    "        average_score = self.data['总分'].mean()\n",
    "        return pass_rate, average_score\n",
    "\n",
    "    def single_question_analysis(self):\n",
    "        \"\"\"\n",
    "        单题得分分析：统计每道题的平均分、最高分、最低分，并区分题型判断得分情况\n",
    "        \"\"\"\n",
    "        question_columns = self.data.columns[2:-2]  # 去除选择题总分、编程题总分和总分列\n",
    "        analysis = {}\n",
    "        for index, question in enumerate(question_columns):\n",
    "            if pd.api.types.is_numeric_dtype(self.data[question]):\n",
    "                average_score = self.data[question].mean()\n",
    "                max_score = self.data[question].max()\n",
    "                min_score = self.data[question].min()\n",
    "                if index < 10:  # 假设前 10 题为选择题，每题 2 分\n",
    "                    question_type = \"选择题（较难）\" if average_score < 1 else \"选择题（较易）\"\n",
    "                elif index < 15:  # 假设接下来 5 题为简答题，每题 10 分\n",
    "                    question_type = \"简答题（较难）\" if average_score < 5 else \"简答题（较易）\"\n",
    "                else:  # 其他题\n",
    "                    question_type = \"其他题（较难）\" if average_score < 10 else \"其他题（较易）\"\n",
    "                analysis[question] = {\n",
    "                    \"average\": average_score,\n",
    "                    \"max\": max_score,\n",
    "                    \"min\": min_score,\n",
    "                    \"type\": question_type\n",
    "                }\n",
    "        return analysis\n",
    "\n",
    "    def rank_students(self):\n",
    "        \"\"\"\n",
    "        按总分排名，并分类统计\n",
    "        \"\"\"\n",
    "        self.data['排名'] = self.data['总分'].rank(ascending=False, method='min')  # 按总分排名\n",
    "        bins = [0, 60, 70, 80, 90, 100]  # 分数区间\n",
    "        labels = ['不及格', '及格', '中等', '良好', '优秀']\n",
    "        self.data['分类'] = pd.cut(self.data['总分'], bins=bins, labels=labels, right=False)\n",
    "        rank_data = self.data.sort_values(by='总分', ascending=False)[['ID', '姓名', '总分', '排名', '分类']]\n",
    "        return rank_data\n",
    "\n",
    "    def generate_student_feedback(self, student_id):\n",
    "        \"\"\"\n",
    "        学生个性化反馈报告生成\n",
    "        \"\"\"\n",
    "        if student_id in self.students:\n",
    "            student_info = self.students[student_id]\n",
    "            feedback = f\"学生 {student_id} 的成绩分析报告：\\n\"\n",
    "            feedback += f\"姓名：{student_info['name']}\\n\"\n",
    "            feedback += f\"总分：{student_info['total']}\\n\"\n",
    "            for i, score in enumerate(student_info['scores']):\n",
    "                question_name = f\"题{i + 1}\"\n",
    "                if i < 10 and score >= 1:  # 根据选择题分值调整判断标准，判断为正确\n",
    "                    feedback += f\"{question_name}：得分 {score}（正确）\\n\"\n",
    "                elif 10 <= i < 15 and score >= 5:  # 简答题判断为正确\n",
    "                    feedback += f\"{question_name}：得分 {score}（正确）\\n\"\n",
    "                elif i >= 15 and score >= 10:  # 其他题判断为正确\n",
    "                    feedback += f\"{question_name}：得分 {score}（正确）\\n\"\n",
    "                else:\n",
    "                    feedback += f\"{question_name}：得分 {score}\\n\"\n",
    "                    if i < 10 and score < 1:  # 根据选择题分值调整判断标准\n",
    "                        feedback += f\"  本题为选择题，回答错误，建议复习相关知识点。\\n\"\n",
    "                    elif 10 <= i < 15 and score < 5:  # 简答题判断\n",
    "                        feedback += f\"  本题为简答题，回答情况不佳，建议加强复习。\\n\"\n",
    "                    elif i >= 15 and score < 10:  # 其他题判断\n",
    "                        feedback += f\"  本题回答有欠缺，建议进一步学习。\\n\"\n",
    "            return feedback\n",
    "        else:\n",
    "            return f\"未找到ID为 {student_id} 的学生信息。\"\n",
    "\n",
    "    def generate_teaching_improvement(self):\n",
    "        \"\"\"\n",
    "        教学改进建议生成\n",
    "        \"\"\"\n",
    "        question_scores = []\n",
    "        for question in self.data.columns[2:-2]:\n",
    "            if pd.api.types.is_numeric_dtype(self.data[question]):\n",
    "                scores = self.data[question]\n",
    "                average_score = scores.mean()\n",
    "                question_scores.append(average_score)\n",
    "\n",
    "        improvement_suggestions = []\n",
    "        for i, score in enumerate(question_scores):\n",
    "            if i < 10 and score < 1:  # 根据选择题分值调整判断标准\n",
    "                improvement_suggestions.append(f\"选择题第 {i + 1} 题学生整体得分较低，建议加强该知识点的教学。\")\n",
    "            elif 10 <= i < 15 and score < 5:  # 简答题判断\n",
    "                improvement_suggestions.append(f\"简答题第 {i - 9} 题学生整体得分较低，建议详细讲解。\")\n",
    "            elif i >= 15 and score < 10:  # 其他题判断\n",
    "                improvement_suggestions.append(f\"其他题第 {i - 14} 题学生整体得分较低，建议补充教学内容。\")\n",
    "\n",
    "        return improvement_suggestions\n",
    "\n",
    "    def plot_grade_distribution(self, save_path=None):\n",
    "        \"\"\"\n",
    "        生成成绩分布柱状图\n",
    "        \"\"\"\n",
    "        distribution = self.grade_distribution()\n",
    "        plt.figure(figsize=(8, 6))\n",
    "        bars = plt.bar(distribution.index, distribution.values, color='skyblue')\n",
    "        plt.xlabel('Score range', fontsize=12)\n",
    "        plt.ylabel('Number of people', fontsize=12)\n",
    "        plt.title('Column chart of class grade distribution', fontsize=14)\n",
    "        plt.xticks(distribution.index, labels=['fail', 'pass', 'medium', 'good', 'excellent'], fontsize=10)\n",
    "        plt.yticks(fontsize=10)\n",
    "        plt.grid(axis='y', linestyle='--', alpha=0.7)\n",
    "\n",
    "        # 在柱状图上显示具体数值\n",
    "        for bar in bars:\n",
    "            height = bar.get_height()\n",
    "            plt.text(bar.get_x() + bar.get_width() / 2, height, f'{int(height)}', ha='center', va='bottom')\n",
    "\n",
    "        if save_path:\n",
    "            plt.savefig(save_path, bbox_inches='tight')  # 保存图片\n",
    "            plt.close()  # 关闭图表，避免显示\n",
    "        else:\n",
    "            plt.show()\n",
    "\n",
    "    def plot_question_type_average_distribution(self, save_path=None):\n",
    "        \"\"\"\n",
    "        生成各题型得分平均分布饼状图\n",
    "        \"\"\"\n",
    "        question_analysis = self.single_question_analysis()\n",
    "        types = {}\n",
    "        for question in question_analysis:\n",
    "            question_type = question_analysis[question]['type']\n",
    "            if question_type in types:\n",
    "                types[question_type].append(question_analysis[question]['average'])\n",
    "            else:\n",
    "                types[question_type] = [question_analysis[question]['average']]\n",
    "        for question_type in types:\n",
    "            types[question_type] = sum(types[question_type]) / len(types[question_type])\n",
    "\n",
    "        # 定义颜色列表\n",
    "        colors = ['lightcoral', 'lightgreen', 'lightskyblue', 'gold', 'lightpink', 'lightyellow', 'lightcyan']\n",
    "\n",
    "        plt.figure(figsize=(8, 6))\n",
    "        wedges, texts, autotexts = plt.pie(\n",
    "            types.values(), \n",
    "            labels=types.keys(),  # 使用题型作为标签\n",
    "            autopct='%1.1f%%', \n",
    "            startangle=90, \n",
    "            colors=colors[:len(types)],  # 使用定义的颜色列表\n",
    "            textprops={'fontsize': 10}\n",
    "        )\n",
    "        plt.title('Pie chart of average scores distribution for various question types in the class', fontsize=14)\n",
    "        plt.legend(wedges, types.keys(), title=\"Question type\", loc=\"center left\", bbox_to_anchor=(1, 0, 0.5, 1), handlelength=0)\n",
    "\n",
    "        if save_path:\n",
    "            plt.savefig(save_path, bbox_inches='tight')  # 保存图片\n",
    "            plt.close()  # 关闭图表，避免显示\n",
    "        else:\n",
    "            plt.show()\n",
    "\n",
    "    def generate_overall_analysis_report(self, save_path=None):\n",
    "        \"\"\"\n",
    "        生成总体分析报告\n",
    "        \"\"\"\n",
    "        report = \"班级成绩总体分析报告：\\n\\n\"\n",
    "\n",
    "        # 1. 成绩分布\n",
    "        distribution = self.grade_distribution()\n",
    "        report += \"1. 成绩分布统计：\\n\"\n",
    "        for score_range, count in distribution.items():\n",
    "            report += f\"   {score_range}: {count} 人\\n\"\n",
    "        report += \"\\n\"\n",
    "\n",
    "        # 2. 及格率和平均分\n",
    "        pass_rate, average_score = self.pass_rate_and_average()\n",
    "        report += f\"2. 及格率：{pass_rate:.2f}%\\n\"\n",
    "        report += f\"3. 平均分：{average_score:.2f}\\n\\n\"\n",
    "\n",
    "        # 3. 单题得分分析\n",
    "        single_question_stats = self.single_question_analysis()\n",
    "        report += \"4. 单题得分分析：\\n\"\n",
    "        for question, stats in single_question_stats.items():\n",
    "            report += f\"   {question} - 平均分: {stats['average']:.2f}, 最高分: {stats['max']}, 最低分: {stats['min']}, 类型: {stats['type']}\\n\"\n",
    "        report += \"\\n\"\n",
    "\n",
    "        # 4. 教学改进建议\n",
    "        report += \"5. 教学改进建议：\\n\"\n",
    "        for suggestion in self.generate_teaching_improvement():\n",
    "            report += f\"   {suggestion}\\n\"\n",
    "\n",
    "        if save_path:\n",
    "            with open(save_path, \"w\", encoding=\"utf-8\") as file:\n",
    "                file.write(report)\n",
    "            print(f\"总体分析报告已保存为 {save_path}\")\n",
    "        else:\n",
    "            print(report)\n",
    "\n",
    "\n",
    "# 主程序\n",
    "if __name__ == \"__main__\":\n",
    "    file_path = input(\"请输入 Excel 文件路径：\")\n",
    "    analysis = GradeAnalysis(file_path)\n",
    "\n",
    "    # 1. 成绩分布统计\n",
    "    print(\"成绩分布统计：\")\n",
    "    print(analysis.grade_distribution())\n",
    "\n",
    "    # 2. 成绩分布柱状图绘制\n",
    "    analysis.plot_grade_distribution()\n",
    "\n",
    "    # 3. 统计及格率和平均分\n",
    "    pass_rate, average_score = analysis.pass_rate_and_average()\n",
    "    print(f\"\\n及格率：{pass_rate:.2f}%\")\n",
    "    print(f\"平均分：{average_score:.2f}\")\n",
    "\n",
    "    # 4. 单题得分分析\n",
    "    print(\"\\n单题得分分析：\")\n",
    "    single_question_stats = analysis.single_question_analysis()\n",
    "    for question, stats in single_question_stats.items():\n",
    "        print(f\"{question} - 平均分: {stats['average']:.2f}, 最高分: {stats['max']}, 最低分: {stats['min']}, 类型: {stats['type']}\")\n",
    "\n",
    "    # 5. 各题型得分平均分布饼状图绘制\n",
    "    analysis.plot_question_type_average_distribution()\n",
    "\n",
    "    # 6. 学生成绩排名\n",
    "    print(\"\\n学生成绩排名：\")\n",
    "    print(analysis.rank_students())\n",
    "\n",
    "    # 7. 生成教学改进建议\n",
    "    print(\"\\n教学改进建议：\")\n",
    "    for suggestion in analysis.generate_teaching_improvement():\n",
    "        print(suggestion)\n",
    "\n",
    "    # 8. 总体分析报告和图表下载\n",
    "    download = input(\"\\n是否下载总体分析报告和图表？（输入 'y' 下载，其他键跳过）：\")\n",
    "    if download.lower() == 'y':\n",
    "        analysis.generate_overall_analysis_report(save_path=\"overall_analysis_report.txt\")\n",
    "        analysis.plot_grade_distribution(save_path=\"grade_distribution.png\")\n",
    "        analysis.plot_question_type_average_distribution(save_path=\"question_type_distribution.png\")\n",
    "        print(\"总体分析报告和图表已保存为以下文件：\")\n",
    "        print(\"- overall_analysis_report.txt\")\n",
    "        print(\"- grade_distribution.png\")\n",
    "        print(\"- question_type_distribution.png\")\n",
    "\n",
    "    # 9. 学生查询功能\n",
    "    while True:\n",
    "        student_id = input(\"\\n请输入学生编号查询成绩和个性化分析（输入 'exit' 退出）：\")\n",
    "        if student_id.lower() == 'exit':\n",
    "            break\n",
    "        feedback = analysis.generate_student_feedback(student_id)\n",
    "        if feedback:\n",
    "            print(feedback)\n",
    "            # 询问用户是否下载报告\n",
    "            download = input(\"是否下载分析报告？（输入 'y' 下载，其他键跳过）：\")\n",
    "            if download.lower() == 'y':\n",
    "                with open(f\"student_{student_id}_feedback.txt\", \"w\", encoding=\"utf-8\") as file:\n",
    "                    file.write(feedback)\n",
    "                print(f\"分析报告已保存为 student_{student_id}_feedback.txt\")\n",
    "        else:\n",
    "            print(f\"未找到ID为 {student_id} 的学生信息。\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "数据加载成功！\n",
      "学生1 的最终成绩计算结果为：79.25\n",
      "学生2 的最终成绩计算结果为：29.55\n"
     ]
    },
    {
     "ename": "ValueError",
     "evalue": "could not convert string to float: ''",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[3], line 88\u001b[0m\n\u001b[0;32m     86\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;18m__name__\u001b[39m \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m__main__\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m     87\u001b[0m     file_path \u001b[38;5;241m=\u001b[39m \u001b[38;5;28minput\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m请输入 Excel 文件路径：\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m---> 88\u001b[0m     calculate_final_score(file_path)\n",
      "Cell \u001b[1;32mIn[3], line 69\u001b[0m, in \u001b[0;36mcalculate_final_score\u001b[1;34m(file_path)\u001b[0m\n\u001b[0;32m     67\u001b[0m \u001b[38;5;66;03m# 检查是否有期末成绩\u001b[39;00m\n\u001b[0;32m     68\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m final_exam_score \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m---> 69\u001b[0m     final_exam_score \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mfloat\u001b[39m(\u001b[38;5;28minput\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m请输入 \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mstudent\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m 的期末总成绩：\u001b[39m\u001b[38;5;124m\"\u001b[39m))\n\u001b[0;32m     71\u001b[0m \u001b[38;5;66;03m# 计算剩余百分比\u001b[39;00m\n\u001b[0;32m     72\u001b[0m total_percentage_used \u001b[38;5;241m=\u001b[39m \u001b[38;5;28msum\u001b[39m(percentages\u001b[38;5;241m.\u001b[39mget(col, \u001b[38;5;241m0\u001b[39m) \u001b[38;5;28;01mfor\u001b[39;00m col \u001b[38;5;129;01min\u001b[39;00m required_columns[:\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m])  \u001b[38;5;66;03m# 排除期末考试\u001b[39;00m\n",
      "\u001b[1;31mValueError\u001b[0m: could not convert string to float: ''"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "def calculate_final_score(file_path):\n",
    "    \"\"\"\n",
    "    根据 Excel 文件中的成绩和百分比计算最终结果\n",
    "    \"\"\"\n",
    "    try:\n",
    "        # 读取 Excel 文件\n",
    "        df = pd.read_excel(file_path, engine='openpyxl', header=None)\n",
    "        print(\"数据加载成功！\")\n",
    "    except Exception as e:\n",
    "        print(f\"数据加载失败，请检查文件路径或文件格式。错误信息：{e}\")\n",
    "        return\n",
    "\n",
    "    # 定义所需列\n",
    "    required_columns = ['作业', '实验', '课堂练习', '期中考试', '期末考试']\n",
    "\n",
    "    # 初始化学生数据\n",
    "    students = {}\n",
    "    current_student = None\n",
    "\n",
    "    # 遍历每一行，识别学生数据\n",
    "    for index, row in df.iterrows():\n",
    "        if pd.notna(row[0]) and '学生' in str(row[0]):  # 动态识别学生\n",
    "            current_student = row[0]  # 当前学生\n",
    "            students[current_student] = {'data': [], 'percentages': {}, 'final_exam_scores': []}\n",
    "        elif row[0] == '合计':\n",
    "            # 提取当前学生的百分比信息\n",
    "            percentages = {}\n",
    "            for i, col in enumerate(required_columns):\n",
    "                value = row[i + 2]  # 从第 3 列开始是百分比数据\n",
    "                if isinstance(value, str) and '%' in value:\n",
    "                    percentages[col] = float(value.strip('%')) / 100  # 将百分比字符串转换为小数\n",
    "                elif pd.notna(value):\n",
    "                    percentages[col] = float(value)\n",
    "                else:\n",
    "                    percentages[col] = 0.0  # 如果值为空，设为 0\n",
    "            students[current_student]['percentages'] = percentages\n",
    "        elif row[0] in ['序号', '']:\n",
    "            continue  # 跳过标题行和空行\n",
    "        else:\n",
    "            # 检查是否有期末成绩（与“目标1”在同一行）\n",
    "            if pd.notna(row[7]):  # 期末成绩在第 8 列（索引 7）\n",
    "                students[current_student]['final_exam_scores'].append(float(row[7]))\n",
    "            # 添加当前学生的成绩数据\n",
    "            if pd.notna(row[2]):  # 检查成绩数据是否有效\n",
    "                students[current_student]['data'].append(row)\n",
    "\n",
    "    # 计算每个学生的最终成绩\n",
    "    for student, info in students.items():\n",
    "        data = info['data']\n",
    "        percentages = info['percentages']\n",
    "        final_exam_scores = info.get('final_exam_scores', [])\n",
    "\n",
    "        # 初始化最终结果\n",
    "        final_score = 0\n",
    "\n",
    "        # 计算作业、实验、课堂练习、期中考试的加权分数\n",
    "        for row in data:\n",
    "            weighted_score = 0\n",
    "            for i, col in enumerate(required_columns[:-1]):  # 排除期末考试\n",
    "                score = row[i + 2]  # 从第 3 列开始是成绩数据\n",
    "                if pd.notna(score):\n",
    "                    weighted_score += score * percentages.get(col, 0)  # 使用百分比权重\n",
    "            final_score += weighted_score * row[6]  # 乘以成绩比例\n",
    "\n",
    "        # 检查期末成绩是否有多个数值\n",
    "        if len(final_exam_scores) == 1:\n",
    "            final_exam_score = final_exam_scores[0]\n",
    "        elif len(final_exam_scores) > 1:\n",
    "            final_exam_score = sum(final_exam_scores)\n",
    "        else:\n",
    "            final_exam_score = float(input(f\"请输入 {student} 的期末总成绩：\"))\n",
    "\n",
    "        # 计算剩余百分比\n",
    "        total_percentage_used = sum(percentages.get(col, 0) for col in required_columns[:-1])  # 排除期末考试\n",
    "        remaining_percentage = 1 - total_percentage_used\n",
    "        if remaining_percentage < 0:\n",
    "            print(f\"警告：{student} 的剩余百分比为负数，期末成绩将不计入最终成绩！\")\n",
    "            remaining_percentage = 0\n",
    "\n",
    "        # 将期末成绩与其比例相乘\n",
    "        final_exam_weighted = final_exam_score * remaining_percentage\n",
    "        final_score += final_exam_weighted\n",
    "\n",
    "        print(f\"{student} 的最终成绩计算结果为：{final_score:.2f}\")\n",
    "\n",
    "\n",
    "# 主程序\n",
    "if __name__ == \"__main__\":\n",
    "    file_path = input(\"请输入 Excel 文件路径：\")\n",
    "    calculate_final_score(file_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 20998 (\\N{CJK UNIFIED IDEOGRAPH-5206}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 25968 (\\N{CJK UNIFIED IDEOGRAPH-6570}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 21306 (\\N{CJK UNIFIED IDEOGRAPH-533A}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 38388 (\\N{CJK UNIFIED IDEOGRAPH-95F4}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 20154 (\\N{CJK UNIFIED IDEOGRAPH-4EBA}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 29677 (\\N{CJK UNIFIED IDEOGRAPH-73ED}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 32423 (\\N{CJK UNIFIED IDEOGRAPH-7EA7}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 25104 (\\N{CJK UNIFIED IDEOGRAPH-6210}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 32489 (\\N{CJK UNIFIED IDEOGRAPH-7EE9}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 24067 (\\N{CJK UNIFIED IDEOGRAPH-5E03}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 26609 (\\N{CJK UNIFIED IDEOGRAPH-67F1}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 29366 (\\N{CJK UNIFIED IDEOGRAPH-72B6}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:69: UserWarning: Glyph 22270 (\\N{CJK UNIFIED IDEOGRAPH-56FE}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 20154 (\\N{CJK UNIFIED IDEOGRAPH-4EBA}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 25968 (\\N{CJK UNIFIED IDEOGRAPH-6570}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 29677 (\\N{CJK UNIFIED IDEOGRAPH-73ED}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 32423 (\\N{CJK UNIFIED IDEOGRAPH-7EA7}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 25104 (\\N{CJK UNIFIED IDEOGRAPH-6210}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 32489 (\\N{CJK UNIFIED IDEOGRAPH-7EE9}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 20998 (\\N{CJK UNIFIED IDEOGRAPH-5206}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 24067 (\\N{CJK UNIFIED IDEOGRAPH-5E03}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 26609 (\\N{CJK UNIFIED IDEOGRAPH-67F1}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 29366 (\\N{CJK UNIFIED IDEOGRAPH-72B6}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 22270 (\\N{CJK UNIFIED IDEOGRAPH-56FE}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 21306 (\\N{CJK UNIFIED IDEOGRAPH-533A}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 38388 (\\N{CJK UNIFIED IDEOGRAPH-95F4}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAqZUlEQVR4nO3deZDU5Z348c9wDQMOg0AxMAqKxxYqHghqxAPcKC4e0TVrAh4x8VgpMKLEBIgaEaOYxHXZ1RWj6yKuUSnjsS4xIhjP0kQEVNQVdEUhKIV4zICuA8w8vz/yo5MJ5yAPPYOvV1X/0d/v0z2ftp5qeU93T5eklFIAAAAA21yLYg8AAAAAOyrRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIJNWxR4AAHZk//M//xOHH374Jtc8++yzcdRRR21yzezZs2Pt2rWbva+v4rq99957k2sAoJhENwBkVFdXF3369Innnntug+ePPPLIKCkp2eyaurq6Lbqvr+I6AGjKvL0cAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMhHdAAAAkInoBgAAgExENwAAAGTSqtgDAMCOrGXLlvHKK69Ex44dN3i+rq4u6urqNrumRYsWW3RfX8V1ANCUlaSUUrGHAAAAgB2RXw8DAABAJqIbAAAAMhHdAAAAkMkO/4fU6uvr4/3334/y8vIoKSkp9jgAAADsAFJKsXLlyqiqqtrkH/bc4aP7/fffjx49ehR7DAAAAHZAS5YsiV133XWj53f46C4vL4+IP/2H6NChQ5GnAQAAYEdQU1MTPXr0KDTnxuzw0b3uLeUdOnQQ3QAAAGxTm/sYsz+kBgAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQSatiDwAAxXL9vBXFHoFmYmzfLsUeAYBmyivdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMilqdD/zzDNx8sknR1VVVZSUlMTDDz9cOLdmzZoYM2ZM7L///tG+ffuoqqqK73znO/H+++8Xb2AAAABohKJG92effRYHHnhg3Hzzzeud+/zzz2Pu3Llx5ZVXxty5c+PBBx+MhQsXxje+8Y0iTAoAAACN16qYP3zIkCExZMiQDZ6rqKiImTNnNjh20003xaGHHhqLFy+Onj17bo8RAQAAYKs1q890V1dXR0lJSXTs2LHYowAAAMBmFfWV7sb44osvYuzYsXHGGWdEhw4dNrqutrY2amtrC9dramq2x3gAAACwnmbxSveaNWti6NChUV9fH7fccssm106cODEqKioKlx49emynKQEAAKChJh/da9asiW9961uxaNGimDlz5iZf5Y6IGDduXFRXVxcuS5Ys2U6TAgAAQENN+u3l64L7rbfeiieffDI6d+682duUlpZGaWnpdpgOAAAANq2o0b1q1ap4++23C9cXLVoUL7/8cnTq1CmqqqriH/7hH2Lu3Lkxffr0qKuri2XLlkVERKdOnaJNmzbFGhsAAAC2SFGj+6WXXopjjjmmcH306NEREXHOOefE+PHj45FHHomIiIMOOqjB7Z588skYNGjQ9hoTAAAAtkpRo3vQoEGRUtro+U2dAwAAgKauyf8hNQAAAGiuRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIpanQ/88wzcfLJJ0dVVVWUlJTEww8/3OB8SinGjx8fVVVVUVZWFoMGDYrXX3+9OMMCAABAIxU1uj/77LM48MAD4+abb97g+Z///Odx4403xs033xyzZ8+Obt26xXHHHRcrV67czpMCAABA47Uq5g8fMmRIDBkyZIPnUkoxadKkuPzyy+O0006LiIipU6dGZWVl3HPPPXHhhRduz1EBAACg0ZrsZ7oXLVoUy5Yti8GDBxeOlZaWxsCBA+P5558v4mQAAACwZYr6SvemLFu2LCIiKisrGxyvrKyM9957b6O3q62tjdra2sL1mpqaPAMCAADAZjTZV7rXKSkpaXA9pbTesb80ceLEqKioKFx69OiRe0QAAADYoCYb3d26dYuIP7/ivc7y5cvXe/X7L40bNy6qq6sLlyVLlmSdEwAAADamyUZ3r169olu3bjFz5szCsdWrV8fTTz8dAwYM2OjtSktLo0OHDg0uAAAAUAxF/Uz3qlWr4u233y5cX7RoUbz88svRqVOn6NmzZ1xyySVx3XXXxd577x177713XHfdddGuXbs444wzijg1AAAAbJmiRvdLL70UxxxzTOH66NGjIyLinHPOiTvvvDN+9KMfxf/93//FiBEj4pNPPonDDjssHn/88SgvLy/WyAAAALDFSlJKqdhD5FRTUxMVFRVRXV3treYANHD9vBXFHoFmYmzfLsUeAYAmZktbs8l+phsAAACaO9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMWhV7AKD5u37eimKPQDMytm+XYo8AALDdeKUbAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIpElH99q1a+OKK66IXr16RVlZWeyxxx4xYcKEqK+vL/ZoAAAAsFmtij3ApvzsZz+LW2+9NaZOnRr77bdfvPTSS/G9730vKioqYtSoUcUeDwAAADapSUf3Cy+8EKecckqceOKJERGx++67x7333hsvvfRSkScDAACAzWvSby8/8sgj44knnoiFCxdGRMQrr7wSzz33XJxwwglFngwAAAA2r0m/0j1mzJiorq6O3r17R8uWLaOuri6uvfbaGDZs2EZvU1tbG7W1tYXrNTU122NUAAAAWE+TfqV72rRpcffdd8c999wTc+fOjalTp8YNN9wQU6dO3ehtJk6cGBUVFYVLjx49tuPEAAAA8GdNOrp/+MMfxtixY2Po0KGx//77x9lnnx2XXnppTJw4caO3GTduXFRXVxcuS5Ys2Y4TAwAAwJ816beXf/7559GiRcPfC7Rs2XKTXxlWWloapaWluUcDAACAzWrS0X3yySfHtddeGz179oz99tsv5s2bFzfeeGOce+65xR4NAAAANqtJR/dNN90UV155ZYwYMSKWL18eVVVVceGFF8ZPfvKTYo8GAAAAm9Wko7u8vDwmTZoUkyZNKvYoAAAA0GhN+g+pAQAAQHMmugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJqIbAAAAMhHdAAAAkEmrxixeu3Zt1NfXb/H6Fi1aRKtWjfoRAAAAsMNoVBEfeuih0bFjx0gpbXJdSUlJpJTis88+ixdffPFLDQgAAADNVaOiO6UUv/vd77Z4/SGHHNLogQAAAGBH0ajPdJeUlDTqzhu7HgAAAHYk/pAaAAAAZCK6AQAAIBPRDQAAAJk06g+pde7cOQYMGLDF67t06dLogQAAAGBH0ajo7t+/f7z77rtbvH6vvfZq7DwAAACww2hUdM+YMSMefvjhzX5P9zqnn356XHPNNVs1GAAAADR3jf6e7p49ezZqPQAAAHxV+Z5uAAAAyMRfLwcAAIBMRDcAAABk0ujPdE+YMGGL1wIAAMBXWaOi+5ZbbomampotXn/88cc3eiAAAADYUTQqug8//PBccwAAAMAOx2e6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZNLko3vp0qVx1llnRefOnaNdu3Zx0EEHxZw5c4o9FgAAAGxWq2IPsCmffPJJHHHEEXHMMcfEb3/72+jatWv87//+b3Ts2LHYowEAAMBmNeno/tnPfhY9evSIKVOmFI7tvvvuxRsIAAAAGqFJv738kUceif79+8fpp58eXbt2jb59+8btt9++ydvU1tZGTU1NgwsAAAAUQ5OO7nfeeScmT54ce++9d8yYMSOGDx8eF198cdx1110bvc3EiROjoqKicOnRo8d2nBgAAAD+rElHd319fRx88MFx3XXXRd++fePCCy+MCy64ICZPnrzR24wbNy6qq6sLlyVLlmzHiQEAAODPmnR0d+/ePfbdd98Gx/bZZ59YvHjxRm9TWloaHTp0aHABAACAYmjS0X3EEUfEggULGhxbuHBh7LbbbkWaCAAAALZck47uSy+9NH7/+9/HddddF2+//Xbcc889cdttt8XIkSOLPRoAAABsVpOO7kMOOSQeeuihuPfee6NPnz5xzTXXxKRJk+LMM88s9mgAAACwWU36e7ojIk466aQ46aSTij0GAAAANFqTfqUbAAAAmjPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATJpVdE+cODFKSkrikksuKfYoAAAAsFnNJrpnz54dt912WxxwwAHFHgUAAAC2SLOI7lWrVsWZZ54Zt99+e+y8887FHgcAAAC2SLOI7pEjR8aJJ54Yxx577GbX1tbWRk1NTYMLAAAAFEOrYg+wOffdd1/MnTs3Zs+evUXrJ06cGFdffXXmqQAAgMa4ft6KYo9AMzK2b5dij7DNNOlXupcsWRKjRo2Ku+++O9q2bbtFtxk3blxUV1cXLkuWLMk8JQAAAGxYk36le86cObF8+fLo169f4VhdXV0888wzcfPNN0dtbW20bNmywW1KS0ujtLR0e48KAAAA62nS0f31r3895s+f3+DY9773vejdu3eMGTNmveAGAACApqRJR3d5eXn06dOnwbH27dtH586d1zsOAAAATU2T/kw3AAAANGdN+pXuDXnqqaeKPQIAAABsEa90AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmTTp6J44cWIccsghUV5eHl27do1TTz01FixYUOyxAAAAYIs06eh++umnY+TIkfH73/8+Zs6cGWvXro3BgwfHZ599VuzRAAAAYLNaFXuATXnssccaXJ8yZUp07do15syZE0cffXSRpgIAAIAt06Rf6f5r1dXVERHRqVOnIk8CAAAAm9ekX+n+SymlGD16dBx55JHRp0+fja6rra2N2trawvWamprtMR4AAACsp9lE90UXXRSvvvpqPPfcc5tcN3HixLj66qu301Tb1vXzVhR7BJqRsX27FHsEAIrAvxdoDP9egOJrFm8v//73vx+PPPJIPPnkk7Hrrrtucu24ceOiurq6cFmyZMl2mhIAAAAaatKvdKeU4vvf/3489NBD8dRTT0WvXr02e5vS0tIoLS3dDtMBAADApjXp6B45cmTcc8898V//9V9RXl4ey5Yti4iIioqKKCsrK/J0AAAAsGlN+u3lkydPjurq6hg0aFB07969cJk2bVqxRwMAAIDNatKvdKeUij0CAAAAbLUm/Uo3AAAANGeiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmYhuAAAAyER0AwAAQCaiGwAAADIR3QAAAJCJ6AYAAIBMRDcAAABkIroBAAAgE9ENAAAAmTSL6L7llluiV69e0bZt2+jXr188++yzxR4JAAAANqvJR/e0adPikksuicsvvzzmzZsXRx11VAwZMiQWL15c7NEAAABgk5p8dN94441x3nnnxfnnnx/77LNPTJo0KXr06BGTJ08u9mgAAACwSU06ulevXh1z5syJwYMHNzg+ePDgeP7554s0FQAAAGyZVsUeYFNWrFgRdXV1UVlZ2eB4ZWVlLFu2bIO3qa2tjdra2sL16urqiIioqanJN+g28sWqlcUegWakpqZNsUcosHdpDHuX5si+pbmyd2mumtLe3Zh1jZlS2uS6Jh3d65SUlDS4nlJa79g6EydOjKuvvnq94z169MgyGxTL+rscmgd7l+bIvqW5sndprprT3l25cmVUVFRs9HyTju4uXbpEy5Yt13tVe/ny5eu9+r3OuHHjYvTo0YXr9fX18fHHH0fnzp03Guo0XTU1NdGjR49YsmRJdOjQodjjwBazd2mu7F2aI/uW5srebd5SSrFy5cqoqqra5LomHd1t2rSJfv36xcyZM+Pv//7vC8dnzpwZp5xyygZvU1paGqWlpQ2OdezYMeeYbAcdOnTwRESzZO/SXNm7NEf2Lc2Vvdt8beoV7nWadHRHRIwePTrOPvvs6N+/fxx++OFx2223xeLFi2P48OHFHg0AAAA2qclH97e//e346KOPYsKECfHBBx9Enz594tFHH43ddtut2KMBAADAJjX56I6IGDFiRIwYMaLYY1AEpaWlcdVVV633kQFo6uxdmit7l+bIvqW5sne/GkrS5v6+OQAAALBVWhR7AAAAANhRiW4AAADIRHQDAABAJqKb7eqWW26JXr16Rdu2baNfv37x7LPPbnL9oEGDoqSkpMFl6NChDdbMnTs3jjvuuOjYsWN07tw5/vEf/zFWrVqV82Gwg1u6dGmcddZZ0blz52jXrl0cdNBBMWfOnML5lFKMHz8+qqqqoqysLAYNGhSvv/76Ft33b37zmzjssMOirKwsunTpEqeddlqD80888UQMGDAgysvLo3v37jFmzJhYu3btNn187Hh233339Z4rS0pKYuTIkRGxdXv2qaee2uB9lpSUxOzZswvr7Fm+jLVr18YVV1wRvXr1irKysthjjz1iwoQJUV9fX1iztc+5CxcujFNOOSW6dOkSHTp0iCOOOCKefPLJBmvsX7bUypUr45JLLonddtstysrKYsCAAQ2eC7d2n1577bUxYMCAaNeuXXTs2HGDaxYvXhwnn3xytG/fPrp06RIXX3xxrF69usGa+fPnx8CBA6OsrCx22WWXmDBhQvjTXU1Igu3kvvvuS61bt0633357euONN9KoUaNS+/bt03vvvbfR2wwcODBdcMEF6YMPPihcPv3008L5pUuXpp133jkNHz48vfnmm+nFF19MAwYMSN/85je3x0NiB/Txxx+n3XbbLX33u99Nf/jDH9KiRYvSrFmz0ttvv11Yc/3116fy8vL0wAMPpPnz56dvf/vbqXv37qmmpmaT9/3rX/867bzzzmny5MlpwYIF6c0330z3339/4fwrr7yS2rRpk66++ur01ltvpaeeeir17t07/eAHP8j2eNkxLF++vMHz5MyZM1NEpCeffDKltHV7tra2tsF9fvDBB+n8889Pu+++e6qvr08p2bN8eT/96U9T586d0/Tp09OiRYvS/fffn3baaac0adKkwpqtfc7da6+90gknnJBeeeWVtHDhwjRixIjUrl279MEHH6SU7F8a51vf+lbad99909NPP53eeuutdNVVV6UOHTqkP/7xjymlrd+nP/nJT9KNN96YRo8enSoqKtY7v3bt2tSnT590zDHHpLlz56aZM2emqqqqdNFFFxXWVFdXp8rKyjR06NA0f/789MADD6Ty8vJ0ww03bNP/Bmw90c12c+ihh6bhw4c3ONa7d+80duzYjd5m4MCBadSoURs9/8tf/jJ17do11dXVFY7NmzcvRUR66623vvTMfPWMGTMmHXnkkRs9X19fn7p165auv/76wrEvvvgiVVRUpFtvvXWjt1uzZk3aZZdd0r//+79vdM24ceNS//79Gxx76KGHUtu2bTf7P234S6NGjUp77rlnqq+v3+o9+9dWr16dunbtmiZMmFA4Zs/yZZ144onp3HPPbXDstNNOS2eddVZKaeufcz/88MMUEemZZ54pHKupqUkRkWbNmpVSsn/Zcp9//nlq2bJlmj59eoPjBx54YLr88su3yfPslClTNhjdjz76aGrRokVaunRp4di9996bSktLU3V1dUoppVtuuSVVVFSkL774orBm4sSJqaqqqvBLUorL28vZLlavXh1z5syJwYMHNzg+ePDgeP755zd521/96lfRpUuX2G+//eKyyy6LlStXFs7V1tZGmzZtokWLP2/lsrKyiIh47rnntuEj4KvikUceif79+8fpp58eXbt2jb59+8btt99eOL9o0aJYtmxZg71cWloaAwcO3ORenjt3bixdujRatGgRffv2je7du8eQIUMavPWstrY22rZt2+B2ZWVl8cUXXzR4eztsyurVq+Puu++Oc889N0pKSrZ6z/61Rx55JFasWBHf/e53C8fsWb6sI488Mp544olYuHBhRES88sor8dxzz8UJJ5wQEVv/nNu5c+fYZ5994q677orPPvss1q5dG7/85S+jsrIy+vXrFxH2L1tu7dq1UVdXt8H98txzz22z59kNeeGFF6JPnz5RVVVVOHb88cdHbW1tYZ++8MILMXDgwAbf9X388cfH+++/H+++++6X+vlsG6Kb7WLFihVRV1cXlZWVDY5XVlbGsmXLNnq7M888M+6999546qmn4sorr4wHHnigwWdg//Zv/zaWLVsWv/jFL2L16tXxySefxI9//OOIiPjggw/yPBh2aO+8805Mnjw59t5775gxY0YMHz48Lr744rjrrrsiIgr7tbF7+Z133omIiPHjx8cVV1wR06dPj5133jkGDhwYH3/8cUT86X+Qzz//fNx7771RV1cXS5cujZ/+9KcRYT+z5R5++OH49NNPC3G8tXv2r91xxx1x/PHHR48ePQrH7Fm+rDFjxsSwYcOid+/e0bp16+jbt29ccsklMWzYsIjY+v1bUlISM2fOjHnz5kV5eXm0bds2/vmf/zkee+yxwudm7V+2VHl5eRx++OFxzTXXxPvvvx91dXVx9913xx/+8If44IMPttnz7IYsW7Zsvfvdeeedo02bNoX73tCadde/7M9n2xDdbFclJSUNrqeUoqSkJK677rrYaaedCpfFixdHRMQFF1wQxx57bPTp0yeGDh0av/71r2PWrFkxd+7ciIjYb7/9YurUqfFP//RP0a5du+jWrVvsscceUVlZGS1bttzuj4/mr76+Pg4++OC47rrrom/fvnHhhRfGBRdcEJMnT26wbmN7OSJi+PDhDfbzuvuNiLj88svjm9/8ZvTr1y+mTJkSJSUlcf/990fEn9758Ytf/CKGDx8epaWl8Td/8zdx4oknRkTYz2yxO+64I4YMGdLgVZGIxu/Zv/THP/4xZsyYEeedd16D4/YsX9a0adPi7rvvjnvuuSfmzp0bU6dOjRtuuCGmTp3aYF1j929KKUaMGBFdu3aNZ599Nl588cU45ZRT4qSTTioEtf1LY/znf/5npJRil112idLS0vjXf/3XOOOMMxrslS/zPLspf32/f33fG/vZG7st25/oZrvo0qVLtGzZcr3fti1fvjwqKytj+PDh8fLLLxcuf/2PxXUOPvjgaN26dbz11luFY2eccUYsW7Ysli5dGh999FGMHz8+Pvzww+jVq1fWx8SOqXv37rHvvvs2OLbPPvsUfhHUrVu3iFj/N8fr9nJExIQJExrs53X3GxEN7ru0tDT22GOPwn1HRIwePTo+/fTTWLx4caxYsSJOOeWUiAj7mS3y3nvvxaxZs+L8888vHNvaPfuXpkyZEp07d45vfOMb652zZ/kyfvjDH8bYsWNj6NChsf/++8fZZ58dl156aUycODEitn7//u53v4vp06fHfffdF0cccUQcfPDBccstt0RZWVmDoLd/2VJ77rlnPP3007Fq1apYsmRJvPjii7FmzZro1avXNnme3Zhu3bqtd7+ffPJJrFmzpnDfG1qzfPnyiFj/1XeKQ3SzXbRp0yb69esXM2fObHB85syZMWDAgOjUqVPstddehUurVq02eD+vv/56rFmzphAwf6mysjJ22mmnmDZtWrRt2zaOO+64LI+FHdsRRxwRCxYsaHBs4cKFsdtuu0VEFP7n+pd7efXq1fH000/HgAEDIiKia9euDfZzRES/fv2itLS0wX2vWbMm3n333cJ9r1NSUlL4ypF77703evToEQcffHCWx8uOZcqUKdG1a9fCq3URW79n10kpxZQpU+I73/lOtG7deoM/155la33++ecN/i5LxJ9eZV737qCt3b+ff/55RMR6992iRYsGX0cWYf/SOO3bt4/u3bvHJ598EjNmzIhTTjnlSz/Pbsrhhx8er732WoOPPDz++ONRWlpa+PsEhx9+eDzzzDMNvkbs8ccfj6qqqth9992/5CNmmyjWX3Djq2fdV4bdcccd6Y033kiXXHJJat++fXr33Xc3uP7tt99OV199dZo9e3ZatGhR+s1vfpN69+6d+vbtm9auXVtYd9NNN6U5c+akBQsWpJtvvjmVlZWlf/mXf9leD4sdzIsvvphatWqVrr322vTWW2+lX/3qV6ldu3bp7rvvLqy5/vrrU0VFRXrwwQfT/Pnz07Bhw7boa0FGjRqVdtlllzRjxoz05ptvpvPOOy917do1ffzxx4U1P//5z9Orr76aXnvttTRhwoTUunXr9NBDD+V6uOxA6urqUs+ePdOYMWPWO7e1ezallGbNmpUiIr3xxhsbPG/P8mWcc845aZdddil8ZdiDDz6YunTpkn70ox8V1mzN/v3www9T586d02mnnZZefvnltGDBgnTZZZel1q1bp5dffrmwzv5lSz322GPpt7/9bXrnnXfS448/ng488MB06KGHptWrV6eUtv559r333kvz5s1LV199ddppp53SvHnz0rx589LKlStTSn/+yrCvf/3rae7cuWnWrFlp1113bfCVYZ9++mmqrKxMw4YNS/Pnz08PPvhg6tChg68Ma0JEN9vVv/3bv6XddtsttWnTJh188MHp6aef3ujaxYsXp6OPPjp16tQptWnTJu25557p4osvTh999FGDdWeffXZhzQEHHJDuuuuu3A+DHdx///d/pz59+qTS0tLUu3fvdNtttzU4X19fn6666qrUrVu3VFpamo4++ug0f/78zd7v6tWr0w9+8IPUtWvXVF5eno499tj02muvNVhzzDHHpIqKitS2bdt02GGHpUcffXSbPjZ2XDNmzEgRkRYsWLDeua3dsymlNGzYsDRgwICNnrdn+TJqamrSqFGjUs+ePVPbtm3THnvskS6//PJUW1tbWLO1+3f27Nlp8ODBqVOnTqm8vDx97WtfW29/2r9sqWnTpqU99tgjtWnTJnXr1i2NHDkyffrpp4XzW7tPzznnnBQR612efPLJwpr33nsvnXjiiamsrCx16tQpXXTRRQ2+HiyllF599dV01FFHpdLS0tStW7c0fvx4XxfWhJSk9P8/ZQ8AAABsUz7TDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJm0KvYAAMC28/zzz8eIESM2eO7v/u7v4qWXXooVK1Zs8PyLL74Yt956a/zHf/zHBs9fccUV0b9//zj11FM3eP6AAw6Iu+66a6vmBoAdlegGgB1ITU1NnHrqqTF+/PgGx999990YO3ZsrFq1Kl5++eX1bjdo0KCor6+P999/PyZNmhSDBg1qcP7OO++MFStWxBdffBEHHXRQ3Hnnnevdx9e+9rVt90AAYAfh7eUAAACQiegGAACATEQ3AAAAZCK6AQAAIBPRDQAAAJmIbgAAAMhEdAMAAEAmohsAAAAyEd0AAACQiegGAACATFoVewAAYNupqKiI6dOnx/Tp09c7d/zxx8enn34a/fv33+BtW7RoEbvuumtcdtllGzz/4x//OMrKyuK1117b4H3sv//+X254ANgBlaSUUrGHAAAAgB2Rt5cDAABAJqIbAAAAMhHdAAAAkInoBgAAgExENwAAAGQiugEAACAT0Q0AAACZiG4AAADIRHQDAABAJv8PlgVuR6G4NPoAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 23398 (\\N{CJK UNIFIED IDEOGRAPH-5B66}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 29983 (\\N{CJK UNIFIED IDEOGRAPH-751F}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 20998 (\\N{CJK UNIFIED IDEOGRAPH-5206}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 25968 (\\N{CJK UNIFIED IDEOGRAPH-6570}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 25104 (\\N{CJK UNIFIED IDEOGRAPH-6210}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 32489 (\\N{CJK UNIFIED IDEOGRAPH-7EE9}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 26609 (\\N{CJK UNIFIED IDEOGRAPH-67F1}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 29366 (\\N{CJK UNIFIED IDEOGRAPH-72B6}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 22270 (\\N{CJK UNIFIED IDEOGRAPH-56FE}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 29677 (\\N{CJK UNIFIED IDEOGRAPH-73ED}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 32423 (\\N{CJK UNIFIED IDEOGRAPH-7EA7}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 24179 (\\N{CJK UNIFIED IDEOGRAPH-5E73}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:84: UserWarning: Glyph 22343 (\\N{CJK UNIFIED IDEOGRAPH-5747}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 23398 (\\N{CJK UNIFIED IDEOGRAPH-5B66}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 29983 (\\N{CJK UNIFIED IDEOGRAPH-751F}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 24179 (\\N{CJK UNIFIED IDEOGRAPH-5E73}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 22343 (\\N{CJK UNIFIED IDEOGRAPH-5747}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n"
     ]
    },
    {
     "data": {
      "image/png": "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e23svffeLX7dtWvXRn19ffzwhz+MhoaGGDhwYJx11lnxpS99KSoqKtq8761NKQUAAAB0SY2NjXHiiSdGfX19yeNz586NSy+9NCIili1bFrNmzdrszx5xxBHR1NQUCxYsiMmTJ8cRRxxRsv2WW26JRYsWxapVq+KAAw6IW265ZbOvcfDBB0dExHPPPdfsPs4666xYtWpVm/8+L730Usn93/zmN3H22WfHhz70oeJjI0eOjNNOOy2GDBkSr7zyStTX18e4ceNizpw5UVlZ2ezXvfbaa+M73/lO3HrrrTF8+PB49NFH42Mf+1jU1NTE5z73uTbve2tTSgEAAAAtW7685W2VlRE9erRttqIiomfPLc/27t2+fNuQurq6kvu/+MUv4l3velfssccexcfOOeec4n/vvvvu8dWvfjX233//mDt3brz1rW9t9us+9NBDccIJJ8Rxxx1X/HM/+tGP4tFHH23Xvrc215QCAAAAWrbDDi3fNj2KZpddWp5973tLZ3ffvfm5bVR9fX2bT+OLiHj55ZfjV7/6VZx99tktzixfvjxuvvnmGDp0aAwePLjFucMOOyzuueeeeO655yIi4vHHH48HH3wwjj322De8763BkVIAAAAAZTZgwIAWj2Rqzq233hp9+vSJD37wg5ttu/766+Piiy+O5cuXx9577x3Tpk2L7t27t/i1LrnkkliyZEnsvffeUVlZGevWrYurr746PvKRj7R731uTUgoAAABo2bJlLW/b9BpGCxe2PFuxyclac+e+4Uhd0Wc+85n4zGc+0+b5m266KU477bTosfHpkf902mmnxVFHHRUvvfRSfP3rX48Pf/jD8Yc//KHZ2YiI22+/PX7wgx/EbbfdFsOHD49Zs2bF+PHjY9CgQXHmmWe2a99bk1IKAAAAaFl7rvFUrtntzAMPPBDPPvts3H777c1ur6mpiZqamhg2bFgcfPDBseOOO8add97Z4pFPF110UVx66aXxr//6rxERsd9++8W8efNi4sSJm5VSW9r31uSaUgAAAACdyPe+970YOXJk7L///m2aTynF6tWrW9y+YsWKqNjkSLXKyspoamp60/t+MxwpBQAAwHbtmscWZdvXpSMGZNsXncuUKVPizjvvjHvuuafVucbGxrjjjjviG9/4xmbbZs+eHbfffnuMGzcudt5553jxxRfj2muvjZ49e5ZctPw973lPfOADHyieLvi+970vrr766hgyZEgMHz48Hnvssbjuuuvi4x//eJv3XQ5KKQAAAIAyW7RoUfz1r3/d4tyPf/zjSCk1eypejx494oEHHojJkyfH4sWLo7a2Nt75znfG9OnTY5dddinO/fWvf41FizaUrd/61rfiy1/+cpx33nmxcOHCGDRoUJx77rnxla98pc37LgelFAAAAECZ1dfXR319/RbnzjnnnDjnnHOa3TZo0KD49a9/vcWvMXeTi8j36dMnJk+eHJMnT37D+y4H15QCAAAAIDtHSgEAAABdUk1NTdx9991x9913b7bt6KOPjoiIfv36xahRo5r98xUVFbHrrrvGhRde2Oz2L37xi9GzZ8948sknm/0a++23X0REvP3tb29xHz179mzT32V7VEgppY4O0dEaGxujpqYmlixZEn379u3oOAAAAGTkQucRq1atijlz5sTQoUOjR48eHR2HLqC175m29ixO3wMAAAAgO6UUAAAAEBERTU1NHR2BLmJrfK+4phQAAABs57p37x4VFRWxYMGC2HnnnaN79+5RKBQ6OhadUEop1qxZE3//+9+joqIiunfv/oa/llIKAAAAtnMVFRUxdOjQeOmll2LBggUdHYcuoFevXjFkyJCoqHjjJ+EppQAAAIDo3r17DBkyJNauXRvr1q3r6Dh0YpWVlVFVVfWmj6ZTSgEAAAAREVEoFKJbt27RrVu3jo7CdsCFzgEAAADITikFAAAAQHZKKQAAAACyc00p2I5c89iirPu7dMSArPsDoGN4fwEA3ghHSgEAAACQnVIKAAAAgOyUUgAAAABkp5QCAAAAIDulFAAAAADZKaUAAAAAyE4pBQAAAEB2SikAAAAAslNKAQAAAJCdUgoAAACA7JRSAAAAAGSnlAIAAAAgO6UUAAAAANlVdXQAYPtzzWOLsu7v0hEDsu4PAACALXOkFAAAAADZKaUAAAAAyE4pBQAAAEB2SikAAAAAslNKAQAAAJCdUgoAAACA7JRSAAAAAGSnlAIAAAAgO6UUAAAAANkppQAAAADITikFAAAAQHZKKQAAAACyU0oBAAAAkJ1SCgAAAIDslFIAAAAAZKeUAgAAACA7pRQAAAAA2SmlAAAAAMhOKQUAAABAdkopAAAAALJTSgEAAACQnVIKAAAAgOyUUgAAAABkp5QCAAAAIDulFAAAAADZKaUAAAAAyE4pBQAAAEB2SikAAAAAslNKAQAAAJCdUgoAAACA7JRSAAAAAGSnlAIAAAAgO6UUAAAAANkppQAAAADITikFAAAAQHZKKQAAAACyU0oBAAAAkJ1SCgAAAIDslFIAAAAAZKeUAgAAACA7pRQAAAAA2SmlAAAAAMhOKQUAAABAdlUdHaA1a9eujfr6+vjhD38YDQ0NMXDgwDjrrLPiS1/6UlRUvN6npZTiyiuvjBtuuCEWL14co0ePjv/8z/+M4cOHd3B6ANh2XPPYoqz7u3TEgKz7AwAgv059pNS1114b3/nOd2LKlCnx9NNPx6RJk+JrX/tafOtb3yrOTJo0Ka677rqYMmVKzJgxI+rq6uKoo46KpUuXdmByAAAAAFrTqUuphx56KE444YQ47rjjYvfdd4+TTjopxo0bF48++mhEvH6U1OTJk+Pyyy+PD37wg7HvvvvGrbfeGitWrIjbbrutg9MDAAAA0JJOXUoddthhcc8998Rzzz0XERGPP/54PPjgg3HsscdGRMScOXOioaEhxo0bV/wz1dXVMXbs2Jg+fXqHZAYAAABgyzr1NaUuueSSWLJkSey9995RWVkZ69ati6uvvjo+8pGPREREQ0NDRETU1taW/Lna2tqYN29ei1939erVsXr16uL9xsbGMqQHAAAAoCWdupS6/fbb4wc/+EHcdtttMXz48Jg1a1aMHz8+Bg0aFGeeeWZxrlAolPy5lNJmj21s4sSJceWVV5Ytd0fLeTFaF6IFAAAA3ohOffreRRddFJdeemn867/+a+y3335xxhlnxOc///mYOHFiRETU1dVFxIYjptZbuHDhZkdPbeyyyy6LJUuWFG/z588v318CAAAAgM106lJqxYoVUVFRGrGysjKampoiImLo0KFRV1cX06ZNK25fs2ZN3H///TFmzJgWv251dXX07du35AYAAABAPp369L33ve99cfXVV8eQIUNi+PDh8dhjj8V1110XH//4xyPi9dP2xo8fHxMmTIhhw4bFsGHDYsKECdGrV6849dRTOzg9AAAAAC3p1KXUt771rfjyl78c5513XixcuDAGDRoU5557bnzlK18pzlx88cWxcuXKOO+882Lx4sUxevTomDp1avTp06cDkwMAABGud7opzwfABp26lOrTp09Mnjw5Jk+e3OJMoVCI+vr6qK+vz5YLAAAAgDenU19T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brvttjj33HNzRwYAAACgDTr1kVK//OUvY9SoUXHyySfHLrvsEiNGjIgbb7yxuH3OnDnR0NAQ48aNKz5WXV0dY8eOjenTp7f4dVevXh2NjY0lNwAAAADy6dRHSs2ePTu+/e1vxwUXXBBf/OIX45FHHonPfvazUV1dHR/96EejoaEhIiJqa2tL/lxtbW3Mmzevxa87ceLEuPLKK8uaHQDY+q55bFHW/V06YkCnzgEA0JV16iOlmpqa4sADD4wJEybEiBEj4txzz41PfvKT8e1vf7tkrlAolNxPKW322MYuu+yyWLJkSfE2f/78suQHAAAAoHmdupQaOHBg7LPPPiWPvf3tb48XXnghIiLq6uoiIopHTK23cOHCzY6e2lh1dXX07du35AYAAABAPp26lDr00EPj2WefLXnsueeei9122y0iIoYOHRp1dXUxbdq04vY1a9bE/fffH2PGjMmaFQAAAIC269TXlPr85z8fY8aMiQkTJsSHP/zheOSRR+KGG26IG264ISJeP21v/PjxMWHChBg2bFgMGzYsJkyYEL169YpTTz21g9MDAAAA0JJOXUoddNBBceedd8Zll10WV111VQwdOjQmT54cp512WnHm4osvjpUrV8Z5550XixcvjtGjR8fUqVOjT58+HZgcAKD8XHAdAOjKOnUpFRFx/PHHx/HHH9/i9kKhEPX19VFfX58vFAAAAABvSqe+phQAAAAA2yalFAAAAADZKaUAAAAAyK7TX1MKthU5L0brQrQAAAB0do6UAgAAACA7pRQAAAAA2SmlAAAAAMhOKQUAAABAdkopAAAAALJTSgEAAACQnVIKAAAAgOyUUgAAAABkp5QCAAAAIDulFAAAAADZKaUAAAAAyE4pBQAAAEB2SikAAAAAslNKAQAAAJCdUgoAAACA7JRSAAAAAGSnlAIAAAAgO6UUAAAAANkppQAAAADITikFAAAAQHZKKQAAAACyU0oBAAAAkJ1SCgAAAIDslFIAAAAAZKeUAgAAACA7pRQAAAAA2SmlAAAAAMhOKQUAAABAdkopAAAAALKras/w2rVro6mpqc3zFRUVUVXVrl0AAAAAsB1oV2P0L//yL9GvX79IKbU6VygUIqUUy5cvj0ceeeRNBQQAAABg29OuUiqlFPfee2+b5w866KB2BwIAAABg29eua0oVCoV2ffH2zgMAAACwfXChcwAAAACyU0oBAAAAkJ1SCgAAAIDs2nWh8/79+8eYMWPaPD9gwIB2BwIAAABg29euUmrUqFExd+7cNs/vueee7c0DAAAAwHagXaXUb3/72/j5z38eKaU2zZ988snxb//2b28oGAAAAADbrnaVUimlGDJkSLvmAQAAAGBT7brQeaFQaNcXb+88AAAAANsHv30PAAAAgOyUUgAAAABk1+5rSl111VVtngUAAACA5rSrlLr++uujsbGxzfNHH310uwMBAAAAsO1rVyl1yCGHlCsHAAAAANsR15QCAAAAIDulFAAAAADZKaUAAAAAyE4pBQAAAEB2SikAAAAAslNKAQAAAJCdUgoAAACA7JRSAAAAAGSnlAIAAAAgO6UUAAAAANkppQAAAADITikFAAAAQHZKKQAAAACyU0oBAAAAkJ1SCgAAAIDslFIAAAAAZKeUAgAAACA7pRQAAAAA2SmlAAAAAMhOKQUAAABAdkopAAAAALJTSgEAAACQnVIKAAAAgOyUUgAAAABkp5QCAAAAIDulFAAAAADZKaUAAAAAyE4pBQAAAEB2SikAAAAAslNKAQAAAJCdUgoAAACA7JRSAAAAAGSnlAIAAAAgO6UUAAAAANkppQAAAADIrkuVUhMnToxCoRDjx48vPpZSivr6+hg0aFD07NkzjjjiiHjqqac6LiQAAAAAW9RlSqkZM2bEDTfcEO94xztKHp80aVJcd911MWXKlJgxY0bU1dXFUUcdFUuXLu2gpAAAAABsSZcopZYtWxannXZa3HjjjbHjjjsWH08pxeTJk+Pyyy+PD37wg7HvvvvGrbfeGitWrIjbbrutAxMDAAAA0JouUUqdf/75cdxxx8WRRx5Z8vicOXOioaEhxo0bV3ysuro6xo4dG9OnT2/x661evToaGxtLbgAAAADkU9XRAbbkxz/+cfzpT3+KGTNmbLatoaEhIiJqa2tLHq+trY158+a1+DUnTpwYV1555dYNCgAAAECbdeojpebPnx+f+9zn4gc/+EH06NGjxblCoVByP6W02WMbu+yyy2LJkiXF2/z587daZgAAAAC2rFMfKTVz5sxYuHBhjBw5svjYunXr4n//939jypQp8eyzz0bE60dMDRw4sDizcOHCzY6e2lh1dXVUV1eXLzgAAAAArerUR0q95z3viT//+c8xa9as4m3UqFFx2mmnxaxZs2KP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U0oBAAAAkF1VRwcAgDfqL3/5S0yfPj0aGhqiUChEbW1tjBkzJoYNG9bR0SIiYvny5TFz5sx45zvf2dFRslm3bl1UVlYW7//xj3+M1atXxyGHHBLdunXrsFwf+9jH4uqrr45BgwZ1WIbFixfH888/HwMHDoxdd921QzK8+uqrcccdd8QLL7wQu+22W5x88slRU1NT9v3OnDkzRo4cWfb9tMXChQvjqaeeipEjR0bfvn3j5ZdfjltvvTWampriuOOOi/322y9bltmzZ8eDDz4YL730UlRWVsbQoUPjqKOOir59+2bLEGEt7ayspy2znlpPN2U97cISbOKVV15Jt956a7b9rVu3rsXH582blyVDU1NTmj17dnrttddSSimtXr06/fjHP0633npr+vvf/54lQ0ve9a53pblz53Zohsceeyz95Cc/SQ888EBqamrKss9Vq1alNWvWFO8///zz6Ytf/GI6/fTT0+WXX55mz56dJcdPf/rTtHz58iz72pJZs2alm266qfh3f/LJJ9OnP/3pdO6556b/+Z//yZrlnnvuSVdeeWX61Kc+lc4///z09a9/PT333HPZ9v/qq6+m97///alQKKR+/fqlt73tbWnYsGGpX79+qaKiIp1wwglpyZIl2fK0ZNasWamioqLs+1mzZk266KKL0lvf+tZ00EEHpZtuuqlke0NDQ9lzLFiwIB166KGpsrIyvfOd70yvvPJKOu6441KhUEiFQiG97W1vSwsWLChrhpRSevzxx5u9devWLd15553F++V22WWXFdeONWvWpE9+8pOpoqIiFQqFVFFRkT7wgQ+klStXlj3Hhz70ofTf//3fKaWUnnrqqTRgwIC08847p9GjR6fa2tpUV1eX/u///q/sOQqFQtpjjz3S1Vdfnf72t7+VfX8tue+++1Lv3r1ToVBIAwcOTI8//njadddd07Bhw9Jee+2Vqqur029/+9uy51i2bFk66aSTiq+PioqKVFdXlyorK9MOO+yQpkyZUvYMKVlLN9UZ1tKUrKebsp6Wsp6Wsp52fUopNpPrjX/JkiXp5JNPTj169Ei77LJL+spXvpLWrl1b3J7rjf+ZZ55Ju+22W6qoqEh77rlnmj17dho5cmTq3bt36tWrVxowYECWH7Z/8YtfNHurrKxMU6ZMKd4vt4985COpsbExpZTS0qVL07hx41KhUEjdu3dPhUIhjRo1Ki1evLjsOd71rncV3/gffPDBVF1dnd7xjnekU045JY0YMSL16tUrTZ8+vew5CoVC6tOnT/rkJz+ZHn744bLvryU//elPU2VlZerfv3/q06dP+t3vfpf69euXjjzyyHT00UenysrK9MMf/rDsOV5++eX0L//yL6lQKKTKyspUUVGRRo4cWXzzv+iii8qeIaWUzjjjjLTffvs1+//k4YcfTu94xzvSRz/60SxZWpNrPb3iiitSbW1t+trXvpYuv/zyVFNTk84555zi9oaGhlQoFMqa4YwzzkhjxoxJv/zlL9Mpp5ySxowZkw4//PD0t7/9Lb3wwgvp8MMPT+eff35ZM6SUih9I13843fi28Q8x5VZRUZFefvnllFJKV199ddp5553Tf//3f6cXX3wx3XXXXektb3lLuuqqq8qeY+P3sPe+973p1FNPTatXr04pvf7D3dlnn53GjRtX9hyFQiF98pOfTLW1tamqqiodd9xx6c477yx538/h0EMPTeeff35aunRp+trXvpZ23XXXku/LCy+8MI0ZM6bsOc4555x06KGHplmzZqVnnnkmfehDH0oXX3xxWr58efre976XevXqlWVNt5aW6gxraUrW001ZT0tZT0tZT7s+pdR2aMmSJa3eHnjggSxvMJ/97GfT2972tnTHHXekG2+8Me22227puOOOKy7uud74TzjhhPT+978/PfHEE2n8+PFpn332SSeccEJas2ZNWr16dTrhhBPS6aefXvYcrb3xb/wBoNw2fuO/8MIL09ChQ9PMmTNTSin9+c9/Tm9/+9vT5z//+bLn6NevX3r++edTSimNHTt2s31+6UtfSoceemjZcxQKhXTVVVelESNGpEKhkIYPH56++c1vpkWLFpV93xs78MAD01e/+tWUUko/+tGPUr9+/Uo+gH39619PBxxwQNlznHLKKenEE09MixcvTitWrEjnn39+8Q32nnvuSf3790+TJ08ue46amppWS8KHHnoo1dTUlD3Hjjvu2Oqtb9++WV63e+65Z7rrrruK959//vk0bNiwdNZZZ6WmpqYsJf/AgQPTQw89lFJK6R//+EcqFArpd7/7XXH7vffem/bYY4+yZkgppf333z8dd9xx6emnn05z585Nc+fOTXPmzElVVVVp2rRpxcfKrVAoFNfSAw44IH3ve98r2X777bent7/97WXP0bNnz+JaOnDgwPSnP/2pZPuzzz6b5bWy/vl47bXX0k9/+tN07LHHpsrKylRbW5suvvji9Mwzz5Q9Q0op9e3bt/h8vPbaa6mqqio99thjxe3PPfdcludjwIAB6dFHHy3ef+WVV1KPHj2KR4NMmTIly5puLS3VGdbSlKynm7KelrKelrKedn1Kqe3Q+nKjpVuu8mPIkCHpvvvuK95ftGhRGj16dBo3blxatWpVtjf+nXfeubiALlu2LBUKhfTAAw8Ut0+fPj0NGTKk7DmOOeaYdNxxxxXfdNerqqpKTz31VNn3v97Gb/zDhw9Pt99+e8n2X/3qV2nYsGFlz9G7d+/09NNPp5RSqq2tTbNmzSrZ/vzzz6cddtih7Dk2fj4effTR9OlPfzr169cvVVdXp5NPPjlNnTq17BlSev35mDNnTkrp9dNNu3Xrlp544oni9r/+9a9Zno++ffumJ598snh/2bJlqVu3bsXDkb///e+nvfbaq+w5ampq0h//+McWtz/88MNZ3vh79eqVvvCFL6Rbbrml2duVV16ZZR3r2bNn8ftjvRdffDHttdde6bTTTksvvvhi2XP06NEjvfDCC8X7vXv3Tn/5y1+K9+fNm5d69uxZ1gwpvX769ec+97m0zz77lPzA0BFr6cKFC1NKKfXv3z/9+c9/Ltk+Z86c1KtXr7LnGD16dLrhhhtSSimNGDEi3XnnnSXbp06dmurq6sqeY+O1dL2//e1v6aqrrkp77LFHqqioSIcffnjZcwwYMKC4hi1fvjxVVFQUf/hP6fXTlQYMGFD2HP369Ss5CnvNmjWpqqqq+D3z3HPPpR49epQ9h7W0VGdYS1Oynm7KelrKelrKetr1KaW2Q3379k3XXntt+v3vf9/s7cYbb8zyhturV6/NrgvU2NiYDjnkkPTud787zZ49O9sHkI2vXbXDDjsUW/+UUnrhhRdSdXV12XOklNJ1112XhgwZUvKvdB35xj9gwIDN9j137twsC/u73/3uNGnSpJRSSmPGjNnsOmc//elPs5SFzb3xr1y5Mv3Xf/1XOuKII1JFRUXabbfdyp6jrq6u+K9Ar7zySioUCiWl7iOPPJLlg9DOO+9c8j2xYsWKVFFRkf7xj3+klF4vx3K8Xk4//fT0jne8I82YMWOzbTNmzEgHHHBAOuOMM8qeY8yYMa0eGZbrlJOhQ4eW/Cv6ei+++GJ629velo488siy5xgyZEjJh7FLLrmk+H2R0uvPRY4Pp+v9+te/TrvuumuaMGFCWrduXYespVdffXX693//9zRo0KD0v//7vyXbZ82alXbcccey57j77rvTTjvtlG6++eZ08803p9133z1997vfTX/4wx/STTfdlAYPHpzltNuNj8Jtzu9+97t06qmnlj3HCSeckI4//vj04IMPpnPOOSeNGjUqHXfccWnZsmVp+fLl6aSTTkrHHHNM2XMcddRRJae5fO1rX0sDBw4s3v/Tn/6U5fViLS3VGdbSlKynm7KelrKelrKedn1Kqe3QEUccka699toWt8+aNSvLaXN77bVX+tWvfrXZ40uXLk2HHHJI2n///bO88b/1rW8tOTLq+uuvL15TKaWUZs6cmeWH/fVmzZqV9tlnn3TOOeek5cuXd8gb/7nnnps+//nPp1122SXdc889JdsfffTRLAv79OnTU01NTbriiivSt771rTRgwID0pS99Kf3whz9MX/nKV1K/fv1a/T7eWrb0xv+Xv/wlffGLXyx7jtNPPz2NHj06/eAHP0jve9/70jHHHJMOPvjg9PTTT6dnnnkmjR07Np100kllz/GBD3wgfehDH0rLli1La9asSePHj0977rlncfvDDz+c5fWyePHidMwxx6RCoZB23HHHtNdee6W999477bjjjqmioiK9973vzXLts6uvvjrV19e3uP2FF15IZ511VtlznH322enjH/94s9v+9re/pT333LPs6+n73//+Vn+onDJlSnr3u99d1gybamhoSO9973vTYYcdln0t3W233dLuu+9evG363Hzzm99MBx98cJYsP/3pT9Ouu+662SniPXr0SOPHj89yHZLmCv6O8Nxzz6U999yzeDr2iy++mN7//venqqqqVFVVlXbeeefiKevlNHPmzLTTTjulurq6NGTIkNS9e/f0ox/9qLh9ypQpWa49Yi0t1RnW0pSsp5uynpaynpaynnZ9hZRS6ujfAEheN954Y6xYsSI+97nPNbv95Zdfju985ztxxRVXlDXHZz/72XjppZfijjvu2Gzb0qVL46ijjooZM2bEunXryprjU5/6VIwaNSo+8YlPNLv9mmuuiQceeCB+9atflTXHxlauXBmf//zn4957743Zs2fHE088Efvss0+WfR9xxBFRKBSK908//fQ4++yzi/f/7d/+Le655574/e9/X/YsDz30UFxwwQXxxz/+seTxQYMGxUUXXdTi9/DWVFFREQ0NDbHLLruUfV+tefnll+P000+Phx9+OA4//PD48Y9/HJdffnn853/+ZxQKhXjrW98av/nNb+Ktb31rWXPMnj07xo0bF/PmzYtCoRC9e/eOO+64I4488siIiLjlllvi2WefjYkTJ5Y1x3rPPPNMPPTQQ9HQ0BAREXV1dXHIIYfE3nvvnWX/ncW8efPimWeeiaOPPrrZ7S+99FJMnTo1zjzzzMzJNpgxY0b07Nkz9t133+z7/o//+I+477774lvf+laH/erwTT388MNRXV0dI0aMyLK/devWxZ/+9KeYPXt2NDU1xcCBA2PkyJHRp0+fLPu///7749BDD42qqqos+9uSf/zjH9G/f//i/XvuuSdWrlwZhxxySMnj5fTSSy/F3XffHatXr453v/vd2d7nm2MtfV1XWEsjrKebsp52LOtpqaeffjoefvjh7X49bQ+lFB1m8eLFsWDBghg+fHiz25ctWxYzZ86MsWPHZk5Was6cOdGjR48YOHBg9n3/8pe/jPvuuy8uu+yyDi9F1ps9e3Z079496weRv//97yVv/Lvvvnu2fc+bNy8GDx4cFRUV2fbZHrNnz44VK1bE3nvvne3DyYoVK+LBBx+MNWvWxMEHHxwDBgzIsl8AAGDbopTaDq1duzaampraPF9RUVGWH3blkEMOOcpl8eLFcdddd8VHP/rR7PuWo/NmkEMOOZrX1NTU7D++NDU1xd/+9rcYMmSIHHLIIYccW5BSirlz58bgwYOjqqoq1qxZE3feeWesXr06jj32WP+Q2wKl1HbowAMPjH79+sWW/tcXCoVIKcXy5cvjkUce6ZAc608j68gc65+Hjng+Nj6Nbv3jHf3/paOej42/F5rL05Hfpx2dY/2+c+ZYb0vfJ+XKsSWPP/54HHjggWU//VeOrpVBDjnkKNXY2Bif+MQn4q677oq+ffvGpz71qfjKV74SlZWVEfH6qeODBg2SQw455JBjC5599tk4+uijY/78+bHHHnvE1KlT4+STT45nnnkmUkrRq1evmD59egwbNqysObqiznEiKlmllOLee+9t8/xBBx0khxxyyNGpcjQ2Nra6fenSpWXZrxydO4MccsjRPl/+8pfj8ccfj+9///vx6quvxle/+tWYOXNm/OxnP4vu3btHRMv/+CCHHHLIIccGl1xySey///5x1113xU033RTHH398DBs2LB566KFIKcWHP/zhuOqqq+L73/9+2bN0OVv1sul0CSNGjGjX/EEHHSSHHHLI0alyFAqFVFFR0eJt/fZyk6NzZZBDDjnaZ8iQIem+++4r3l+0aFEaPXp0GjduXFq1alVqaGiQQw455JCjDXbeeef02GOPpZRSWrZsWSoUCiW/4X369OlpyJAhZc/RFTlSCoAup0+fPnH55ZfH6NGjm93+l7/8Jc4991w5MuboDBnkkEOO9lm0aFHstttuxfv9+/ePadOmxdFHHx3HHntsfPe73y17BjnkkEOObSHHsmXLYqeddoqIiN69e0fv3r1LflHWrrvuGi+//HKWLF2NUgqALufAAw+MiGjxt3O25Tpgcmx7GeSQQ472GTx4cDz99NMxdOjQ4mN9+vSJqVOnxrhx4+IDH/hA2TPIIYcccmwLOQYNGhQvvPBC8YLqkyZNKvnt6X//+99jxx13zJKlq+mcv+McAFpx6qmnRnV1dYvb6+rq4oorrpAjY47OkEEOOeRon3HjxsXNN9+82eM77LBD/Pa3v40ePXqUPYMccsghx7aQ48gjj4xnnnmmeP/Tn/509OnTp3h/6tSpxX+QoJTfvrcdOuqoo2L58uVtnu/Xr1/8+te/lkMOOeToNDkAePMWL14cCxYsiOHDhze7fdmyZTFz5swWj+iSQw455JCjbebMmRM9evQoOaWP1zl9bzs0atSomDt3bpvn99xzTznkkEOOTpVj7dq10dTU1Ob5ioqKqKra+m95cnSuDHLIIUf79OnTJ4YNGxZr1qxpdnv37t3jkEMOKW6XQw455JCjeVta19/ylrdERJQ9R1fkSKnt0IEHHhg///nP23ytgpNPPjkeeeQROeSQQ45OlaMt11wpFAqRUorly5fLUeYcnSGDHHLIsfVzFAqFiAg55JBDDjneRI7163m51/WuSDW3HUopFS/A1tZ5OeSQQ47OluPee+9t8/xBBx0kR5lzdIYMcsghhxxyyCGHHNtzjq7Ihc63Q+ub4nLNyyGHHHLIsf3l6AwZ5JBDDjnkkEMOObbnHF2RUgoAAACA7JRSAAAAAGTnmlLboZRSXHXVVW2elUMOOeTobDkAAICuTym1Hbr++uujsbGxzfNHH320HHLIIUenytG/f/8YM2ZMm+cHDBggR5lzdIYMcsghhxxyyCGHHNtzjq5IKbUdOuSQQzo6QkTIsSk5SslRSo5So0aNirlz57Z5fs8995SjzDk6QwY55JBDDjnkkEOO7TlHV1RIzq8AoIs58MAD4+c//3mbTxE8+eST45FHHpGjjDk6QwY55JBDDjnkkEOO7TlHV+RIKQC6nJRSDBkypF3zcpQ3R2fIIIcccsghhxxyyLE95+iK/PY9ALqcQqFQ1nk5umYGOeSQQw455JBDju05R1eklAIAAAAgO6UUAAAAANm5phQAXU5KKa666qo2z8pR/hydIYMccsghhxxyyCHH9pyjK/Lb9wDoch566KFobGxs83xNTU0cfPDBcpQxR2fIIIcccsghhxxyyLE95+iKlFIAAAAAZOeaUgAAAABkp5QCAAAAIDulFAAAAADZKaUAAAAAyE4pBQAAAEB2VR0dAACADaZPnx7nnXdes9uOOeaYePTRR2PRokXNbn/kkUeie/fu5YwHALDVKKUAADqRxsbGOPHEE6O+vr7k8blz58all14ay5Yti1mzZm3254444ohoamrKExIAYCtw+h4AAAAA2SmlAAAAAMhOKQUAAABAdkopAAAAALJTSgEAAACQnVIKAAAAgOyUUgAAAABkp5QCAAAAIDulFAAAAADZKaUAAAAAyK6qowMAALBBTU1N3H333XH33Xdvtu3oo4+OV199NUaNGtXsn62o8O+NAEDXUUgppY4OAQAAAMD2xT+nAQAAAJCdUgoAAACA7JRSAAAAAGSnlAIAAAAgO6UUAAAAANkppQAAAADITikFAAAAQHZKKQAAAACyU0oBAAAAkN3/B2Sfkg1ZVWidAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 23398 (\\N{CJK UNIFIED IDEOGRAPH-5B66}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 29983 (\\N{CJK UNIFIED IDEOGRAPH-751F}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 20998 (\\N{CJK UNIFIED IDEOGRAPH-5206}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 25968 (\\N{CJK UNIFIED IDEOGRAPH-6570}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 25104 (\\N{CJK UNIFIED IDEOGRAPH-6210}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 32489 (\\N{CJK UNIFIED IDEOGRAPH-7EE9}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 25955 (\\N{CJK UNIFIED IDEOGRAPH-6563}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 28857 (\\N{CJK UNIFIED IDEOGRAPH-70B9}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 22270 (\\N{CJK UNIFIED IDEOGRAPH-56FE}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 29677 (\\N{CJK UNIFIED IDEOGRAPH-73ED}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 32423 (\\N{CJK UNIFIED IDEOGRAPH-7EA7}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 24179 (\\N{CJK UNIFIED IDEOGRAPH-5E73}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\pan\\AppData\\Local\\Temp\\ipykernel_8820\\834183254.py:96: UserWarning: Glyph 22343 (\\N{CJK UNIFIED IDEOGRAPH-5747}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 25955 (\\N{CJK UNIFIED IDEOGRAPH-6563}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "f:\\6l\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 28857 (\\N{CJK UNIFIED IDEOGRAPH-70B9}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n"
     ]
    },
    {
     "data": {
      "image/png": "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eHA88MADbdfvu+++GDlyZEyaNCnOPffcWL169XZvd8OGDdHS0tLuAgAAAEB5KVkpNXTo0DjiiCPiqquuipUrV0ahUIhbbrklfv3rX0dTU1NERJx00knxwx/+MO6999745je/GUuWLIljjjkmNmzY0OntXnvttVFVVdV2GTduXFb/JQAAAAC6KJdSSqW68z/+8Y9x9tlnx//8z/9EPp+Pgw8+OCZNmhS/+c1v4ve///0245uammL8+PHx4x//OOrq6jq8zQ0bNrQrrVpaWmLcuHHR3Nwcw4YN67H/CwAAAPRWb7zxRixdujQmTpy4zRFN0JHtPWdaWlqiqqrqLbuYkk50vscee8T9998f69evj5aWlqiuro6Pf/zjMXHixA7HV1dXx/jx4+PZZ5/t9DYrKyujsrKypyIDAAAAZWLRokVxwQUXdLjuxBNPjH/4h3+IY489Nl5++eUOxzz00EPxne98J2688cYO119++eUxefLk+OhHP9rh+ve9733xgx/8ID71qU/F7373uw7H/OxnP4sJEya85f8lIiKXy3W4/Prrr4+LL744IiLOP//8uPvuu2PlypXxrne9K6ZMmRLXXXdd7LPPPp3e7ptvvhmzZ8+OH/7wh7Fq1aqorq6OGTNmxOWXXx4VFRVdvu/uVtJSqtXOO+8cO++8c6xZsybuuOOOuP766zsc98orr0RjY2NUV1dnnBAAAAAoNy0tLfHRj340Zs+e3W75smXL4tJLL42IiHXr1sWjjz66zfdOnTo1Nm3aFCtXrow5c+bE1KlT263//ve/Hy+//HK88cYbceCBB8b3v//9bW7j8MMPj4iIZ555psP7mDFjRrzxxhtd/v+0TmfU6pe//GV85jOfidNOO61t2SGHHBKf/OQnY7fddos///nPMXv27Dj++ONj6dKlkc/nO7zd6667Lr7zne/ETTfdFPvtt188/PDD8elPfzqqqqpi5syZXb7v7lbSUuqOO+6IlFLsvffe8dxzz8XFF18ce++9d3z605+OdevWxezZs+O0006L6urqWLZsWXzxi1+MESNGxKmnnlrK2AAAANB/rF/f+bp8PmLLQ7e2N7aiImLw4Lceu/POO5avDxk9enS76//5n/8ZRx99dOy+++5ty84777y2rydMmBBf+9rX4v3vf38sW7Ys9thjjw5vd/HixTFt2rQ45ZRT2r7v1ltvjYcffniH7ru7lWyi84iI5ubmuPDCC2OfffaJT33qU/GBD3wg7rzzzthpp50in8/H448/HtOmTYtJkybFWWedFZMmTYrFixfH0KFDSxkbAAAA+o93vavzy9Z70Ywc2fnYk05qP3bChI7H9VGzZ8/u8mF8EREvvfRS3H777fGZz3ym0zHr16+P+fPnx8SJE7d7orcPfOADcc8998QzzzwTERGPPfZYPPDAA3HyySe/7fvuDiXdU+pjH/tYfOxjH+tw3eDBg+OOO+7IOBEAAABA9xsxYkSnezJ15KabboqhQ4d2eKK3f/mXf4kvfOELsX79+thnn33irrvuioEDB3Z6W5dcckk0NzfHPvvsE/l8PgqFQlx99dXxiU98YofvuzuVxZxSAAAAQJlat67zdVvPYbR6dedjK7Y6WGvZsrcdqTf6+7//+/j7v//7Lo+/8cYb45Of/GSHZ0P85Cc/Gccdd1w0NTXFN77xjfjYxz4W//u//9vpmRN/8pOfxC233BI/+tGPYr/99otHH300Zs2aFWPGjImzzjprh+67OymlAAAAgM7tyBxPPTW2n2loaIg//OEP8ZOf/KTD9VVVVVFVVRV77bVXHH744fHud787Fi5c2OmeTxdffHFceuml8Td/8zcREXHAAQfECy+8ENdee+02pdRb3Xd3KumcUgAAAAC0973vfS8OOeSQeP/739+l8Sml2LBhQ6frX3vttajYak+1fD4fmzZtesf3/U4opQAAAAB62Lx58+Kv//qv33JcS0tL/PSnP41zzjlnm3XPP/98XHvttfHII4/Eiy++GIsXL46PfexjMXjw4HaTlv/1X/91zJs3r+36hz/84bj66qvj9ttvj2XLlsXChQvjhhtuiFNPPbXL990THL4HAAAA0MNefvnl+OMf//iW43784x9HSqnDQ/EGDRoUDQ0NMWfOnFizZk2MGjUqPvjBD8aiRYti5MiRbeP++Mc/xssvv9x2/Vvf+lZ8+ctfjgsuuCBWr14dY8aMifPPPz++8pWvdPm+e4JSCgAAAKCHzZ49O2bPnv2W484777w477zzOlw3ZsyY+K//+q+3vI1lW00iP3To0JgzZ07MmTPnbd93T3D4HgAAAACZs6cUAAAA0CtVVVXFbbfdFrfddts260444YSIiBg+fHhMnjy5w++vqKiImpqauOiiizpc/8UvfjEGDx4c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AACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJlTSgEAAACQOaUUAAAAAJkbUOoAAEDvVChENDRENDVFVFdH1NZG5POlTgUAQG+hlAIAdlh9fcTMmRHLl29eVlMTMXduRF1d6XIBANB7OHwPANgh9fUR06e3L6QiIlasKC6vry9NLgAAehelFADQZYVCcQ+plLZd17ps1qziOAAA2B6lFADQZQ0N2+4htaWUIhobi+MAAGB7lFIAQJc1NXXvOAAA+i+lFADQZdXV3TsOAID+SykFAHRZbW3xLHu5XMfrc7mIceOK4wAAYHuUUgBAl+XzEXPnFr/euphqvT5nTnEcAABsj1IKANghdXURCxZEjB3bfnlNTXF5XV1pcgEA0LsMKHUAAKD3qauLmDateJa9pqbiHFK1tfaQAgCg65RSvUSh4I0/AOUln4+YOrXUKQAA6K1Kevjem2++GZdffnlMnDgxBg8eHLvvvntceeWVsWnTprYxKaWYPXt2jBkzJgYPHhxTp06NJ598soSps1dfHzFhQsTRR0eccUbx3wkTissBAAAAeqOSllLXXXddfOc734l58+bFU089Fddff318/etfj29961ttY66//vq44YYbYt68ebFkyZIYPXp0HHfccbF27doSJs9OfX3E9OkRy5e3X75iRXG5YgoAAADojXIppVSqO//Qhz4Uo0aNiu9973tty0477bQYMmRI3HzzzZFSijFjxsSsWbPikksuiYiIDRs2xKhRo+K6666L888//y3vo6WlJaqqqqK5uTmGDRvWY/+XnlAoFPeI2rqQapXLFSeVXbrUoXwAAABAeehqF1PSPaU+8IEPxD333BPPPPNMREQ89thj8cADD8TJJ58cERFLly6NVatWxfHHH9/2PZWVlXHUUUfFokWLOrzNDRs2REtLS7tLb9XQ0HkhFRGRUkRj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FRUVUVNTU+oY3WrYsGFl8wSVpXPllEeWjsnSuXLKI0vHyilLRHnlkaVjsnSunPLI0jFZOldOeWTpmCydK6c8snS/7e0h1cpE5wAAAABkTikFAAAAQOaUUr1IZWVlfPWrX43KyspSR5FlO8opjyyy7KhyyiNL+WeJKK88ssiyo8opjyyy7KhyyiOLLDuqnPLIUlp9fqJzAAAAAMqPPaUAAAAAyJxSCgAAAIDMKaUAAAAAyJxSCgAAAIDMKaUAAAAAyNyAUgcAgFbPPvtsLFq0KFatWhW5XC5GjRoVU6ZMib322qvU0dpZv359PPLII/HBD36w1FFKolAoRD6fb7v+61//OjZs2BBHHHFE7LTTTiVMFvHpT386rr766hgzZkxJc6xZsyaee+65qK6ujpqampJmefXVV+OnP/1pvPjiizF+/Pg4/fTTo6qqKpP7fuSRR+KQQw7J5L66YvXq1fHkk0/GIYccEsOGDYuXXnopbrrppti0aVOccsopccABB2Sa5/nnn48HHnggmpqaIp/Px8SJE+O4446LYcOGZZojwva3t7D9fWu2v0W2v9tn+1tGEr3Wn//853TTTTdlep+FQqHT5S+88EJmOTZt2pSef/759Je//CWllNKGDRvSj3/843TTTTelP/3pT5nl6MzRRx+dli1bVuoY6be//W3693//99TQ0JA2bdqU6X2/8cYbaePGjW3Xn3vuufTFL34xnXnmmelLX/pSev755zPLsmDBgrR+/frM7u+tPProo+nGG29sewyeeOKJ9Hd/93fp/PPPT//93/+deZ577rknXXHFFemzn/1suvDCC9M3vvGN9Mwzz2Sa4dVXX00f+chHUi6XS8OHD0+TJk1Ke+21Vxo+fHiqqKhI06ZNS83NzZlm2p5HH300VVRUZHJfGzduTBdffHHaY4890qGHHppuvPHGdutXrVqVWZaVK1emI488MuXz+fTBD34w/fnPf06nnHJKyuVyKZfLpUmTJqWVK1dmkuWxxx7r8LLTTjulhQsXtl3PwmWXXda2jdm4cWM699xzU0VFRcrlcqmioiKdeuqp6fXXX88kS0opnXbaaek//uM/UkopPfnkk2nEiBFp1113TYcddlgaNWpUGj16dPr973+fSZZcLpd23333dPXVV6fly5dncp+d+dWvfpV23nnnlMvlUnV1dXrsscdSTU1N2muvvdLee++dKisr0x133JFJlnXr1qXp06e3/e5UVFSk0aNHp3w+n971rnelefPmZZIjJdvf7bH97Zjtb+dsfztm+9ux3rb97SlKqV4syxfl5ubmdPrpp6dBgwalkSNHpq985SvpzTffbFuf5Yvy008/ncaPH58qKirSnnvumZ5//vl0yCGHpJ133jkNGTIkjRgxIrMP1P/5n//Z4SWfz6d58+a1Xc/CJz7xidTS0pJSSmnt2rXp+OOPT7lcLg0cODDlcrk0efLktGbNmkyypFQs5lpflB944IFUWVmZ3ve+96WPf/zj6aCDDkpDhgxJixYtyiRLLpdLQ4cOTeeee2568MEHM7nPzixYsCDl8/m0yy67pKFDh6a77747DR8+PB177LHphBNOSPl8Pv3whz/MJMtLL72U/uqv/irlcrmUz+dTRUVFOuSQQ9pemC+++OJMcqSU0t/+7d+mAw44oMOfz4MPPpje9773pU996lOZ5XkrWW5/v/rVr6ZRo0alr3/96+lLX/pSqqqqSuedd17b+lWrVqVcLpdJlr/9279NU6ZMST//+c/Txz/+8TRlypRUW1ubli9fnl588cVUW1ubLrzwwkyytL6RbH1TueVlyw8kWaioqEgvvfRSSimlq6++Ou26667pP/7jP9KKFSvSL37xizR27Nh05ZVXZpIlpdTudfCkk05KZ5xxRtqwYUNKqfih7TOf+Uw6/vjjM8mSy+XSueeem0aNGpUGDBiQTjnllLRw4cJ27yGycuSRR6YLL7wwrV27Nn39619PNTU17Z6vF110UZoyZUomWc4777x05JFHpkcffTQ9/fTT6bTTTktf+MIX0vr169P3vve9NGTIkMxeC2x/O2f72zHb387Z/nbM9rdjvW3721OUUmWsubl5u5eGhobMNvif+9zn0qRJk9JPf/rT9N3vfjeNHz8+nXLKKW0b2SxflKdNm5Y+8pGPpN/97ndp1qxZad99903Tpk1LGzduTBs2bEjTpk1LZ555ZiZZtveivOWLcxa2fFG+6KKL0sSJE9MjjzySUkrp8ccfT+9973vT5z//+UyypJTS8OHD03PPPZdSSumoo47a5r4vv/zydOSRR2aSJZfLpSuvvDIddNBBKZfLpf322y/94z/+Y3r55Zczuf8tHXzwwelrX/taSimlW2+9NQ0fPrzdm6VvfOMb6cADD8wky8c//vH00Y9+NK1Zsya99tpr6cILL2x74bvnnnvSLrvskubMmZNJlqqqqu0WhosXL05VVVWZZEkppXe/+93bvQwbNiyz3+0999wz/eIXv2i7/txzz6W99torzZgxI23atCnTPwpUV1enxYsXp5RSeuWVV1Iul0t333132/p777037b777plkef/7359OOeWU9NRTT6Vly5alZcuWpaVLl6YBAwaku+66q21ZFnK5XNv298ADD0zf+9732q3/yU9+kt773vdmkiWllAYPHty2/a2urk6/+c1v2q3/wx/+kNnvU+tj85e//CUtWLAgnXzyySmfz6dRo0alL3zhC+npp5/OJEdKKQ0bNqztcfnLX/6SBgwYkH7729+2rX/mmWcye1xGjBiRHn744bbrf/7zn9OgQYPa9viYN29eZq8Ftr+ds/3tmO1v52x/O2b727Fy2/6WilKqjLUWGp1dsiw8dtttt/SrX/2q7frLL7+cDjvssHT88cenN954I9MX5V133bVtI7Zu3bqUy+VSQ0ND2/pFixal3XbbLZMsJ554YjrllFPaXgxbDRgwID355JOZZGi15Yvyfvvtl37yk5+0W3/77benvfbaK7M8O++8c3rqqadSSimNGjUqPfroo+3WP/fcc+ld73pXJlm2fGwefvjh9Hd/93dp+PDhqbKyMp1++unpzjvvzCRHSsXHZenSpSml4mGoO+20U/rd737Xtv6Pf/xjZo/LsGHD0hNPPNF2fd26dWmnnXZq20345ptvTnvvvXcmWaqqqtKvf/3rTtc/+OCDmb4oDxkyJP1//9//l77//e93eLniiisy2+YNHjy47TnTasWKFWnvvfdOn/zkJ9OKFSsyyzJo0KD04osvtl3feeed07PPPtt2/YUXXkiDBw/OJMuGDRvSzJkz07777tvuTX+ptr+rV69OKaW0yy67pMcff7zd+qVLl6YhQ4Zkluewww5L//qv/5pSSumggw5KCxcubLf+zjvvTKNHj84ky5bb31bLly9PV155Zdp9991TRUVFqq2tzSTLiBEj2rZ569evTxUVFW0f8lMqHpI0YsSITLIMHz683V7dGzduTAMGDGh7Hj3zzDNp0KBBmWSx/e2c7W/HbH87Z/vbMdvfjpXb9rdUlFJlbNiwYem6665L9913X4eX7373u5m9EA4ZMmSbOYBaWlrSEUcckY455pj0/PPPZ/oGYcv5q971rne1Ne8ppfTiiy+mysrKTLKklNINN9yQdtttt3Z/SSv1i/KIESO2uf9ly5ZltoFNKaVjjjkmXX/99SmllKZMmbLN/GcLFizIrDzs6EX59ddfTz/4wQ/S1KlTU0VFRRo/fnwmWUaPHt3215k///nPKZfLtSt8H3rooczerOy6667tnievvfZaqqioSK+88kpKqViQZfW7dOaZZ6b3ve99acmSJdusW7JkSTrwwAPT3/7t32aSJaXic3Z7e4llefjIxIkT2/01vNWKFSvSpEmT0rHHHpvpHyi2fPN0ySWXtD1fUio+Llm9qWz1X//1X6mmpiZdc801qVAolGz7e/XVV6e5c+emMWPGpP/5n/9pt/7RRx9N7373uzPLc9ttt6X3vOc9af78+Wn+/PlpwoQJ6d/+7d/S//7v/6Ybb7wxjRs3LrPDc7fci7cjd999dzrjjDMyyTJt2rT0oQ99KD3wwAPpvPPOS5MnT06nnHJKWrduXVq/fn2aPn16OvHEEzPJctxxx7U7dOXrX/96qq6ubrv+m9/8JrPfJdvfztn+bp/t77Zsfztm+9uxctv+lopSqoxNnTo1XXfddZ2uf/TRRzM7ZG7vvfdOt99++zbL165dm4444oj0/ve/P7MX5T322KPdnlH/8i//0jaXUkopPfLII5l9qG/16KOPpn333Tedd955af369SV7UT7//PPT5z//+TRy5Mh0zz33tFv/8MMPZ/pmZdGiRamqqip99atfTd/61rfSiBEj0uWXX55++MMfpq985Stp+PDh231+d6e3elF+9tln0xe/+MVMspx55pnpsMMOS7fcckv68Ic/nE488cR0+OGHp6eeeio9/fTT6aijjkrTp0/PJMupp56aTjvttLRu3bq0cePGNGvWrLTnnnu2rX/wwQcz+11as2ZNOvHEE1Mul0vvfve7095775322Wef9O53vztVVFSkk046KdM50a6++uo0e/bsTte/+OKLacaMGZlk+cxnPpPOPvvsDtctX7487bnnnpltfz/ykY9s98PivHnz0jHHHJNJli2tWrUqnXTSSekDH/hASba/48ePTxMmTGi7bP0Y/eM//mM6/PDDM820YMGCVFNTs80h5oMGDUqzZs3KbE6Rjv4oUCrPPPNM2nPPPdsO416xYkX6yEc+kgYMGJAGDBiQdt1117bD3nvaI488kt7znvek0aNHp9122y0NHDgw3XrrrW3r582bl9k8Ira/nbP9fWu2v9uy/d2W7W/Hym37Wyq5lFIq9RkA6dh3v/vdeO2112LmzJkdrn/ppZfiO9/5Tnz1q1/t8Syf+9znoqmpKX76059us27t2rVx3HHHxZIlS6JQKPR4ls9+9rMxefLkOOecczpc/w//8A/R0NAQt99+e49n2dLrr78en//85+Pee++N559/Pn73u9/Fvvvum9n9T506NXK5XNv1M888Mz7zmc+0Xb/qqqvinnvuifvuuy+zTIsXL47/83/+T/z6179ut3zMmDFx8cUXd/rc7m4VFRWxatWqGDlyZCb3tz0vvfRSnHnmmfHggw9GbW1t/PjHP44vfelL8c///M+Ry+Vijz32iF/+8pexxx579HiW559/Po4//vh44YUXIpfLxc477xw//elP49hjj42IiO9///vxhz/8Ia699toez9Lq6aefjsWLF8eqVasiImL06NFxxBFHxD777JNZhnLzwgsvxNNPPx0nnHBCh+ubmprizjvvjLPOOivjZNtasmRJDB48OPbff/+S3P8//dM/xa9+9av41re+VfLTgG/pwQcfjMrKyjjooIMyvd9CoRC/+c1v4vnnn49NmzZFdXV1HHLIITF06NDMMtx///1x5JFHxoABAzK7z7fyyiuvxC677NJ2/Z577onXX389jjjiiHbLe1pTU1PcdtttsWHDhjjmmGMyfc/QEdvfbdn+dp3tb3u2vx2z/e3YU089FQ8++GC/3f4qpeiSNWvWxMqVK2O//fbrcP26devikUceiaOOOirjZNtaunRpDBo0KKqrq0ty/z//+c/jV7/6VVx22WVlUYK0ev7552PgwIEleaPwpz/9qd2L8oQJEzK9/xdeeCHGjRsXFRUVmd7vjnj++efjtddei3322SfTNw+vvfZaPPDAA7Fx48Y4/PDDY8SIEZndNwAA0L8ppcrYm2++GZs2bery+IqKih77MCuLLL05jyzln+WtrFmzJn7xi1/Epz71qZLc/9bKKY8ssuyocsojS/lk2bRpU4d/vNm0aVMsX748dtttt8yylFseWWTpzXlkKe8sKaVYtmxZjBs3LgYMGBAbN26MhQsXxoYNG+Lkk0/uF38wVkqVsYMPPjiGDx8eb/UjyuVykVKK9evXx0MPPVSyLK2HjpU6S+vjUarHZctD6FqXl8PPKMvHpaM8Wz4/OspV6udvOWRpvf+ss7R6q+dOTz9ntuexxx6Lgw8+OJNDhLuinPLIIsuOKqc8spQ+S0tLS5xzzjnxi1/8IoYNGxaf/exn4ytf+Urk8/mIKB52PmbMmMwel3LKI4ssvTmPLOWf5Q9/+EOccMIJ0djYGLvvvnvceeedcfrpp8fTTz8dKaUYMmRILFq0KPbaa68ez1JK5XOAKdtIKcW9997b5fGHHnqoLLKURZaI8sojS/lnaWlp2e76tWvX9th9d6Sc8sjSMVk6V055ZOlYOWX58pe/HI899ljcfPPN8eqrr8bXvva1eOSRR6K+vj4GDhwYEZ3/0aKv55FFlt6cR5byz3LJJZfE+9///vjFL34RN954Y3zoQx+KvfbaKxYvXhwppfjYxz4WV155Zdx8882Z5CmZbp02nW510EEH7dD4Qw89tIeSyNIZWTpXTnlk6Vg5ZcnlcqmioqLTS+v6rJRTHllk6c15ZCn/LLvttlv61a9+1Xb95ZdfTocddlg6/vjj0xtvvJFWrVqV6fO3nPLIIktvziNL+WfZdddd029/+9uUUkrr1q1LuVyu3VnmFy1alHbbbbdMspSSPaUAKLmhQ4fGl770pTjssMM6XP/ss8/G+eef3y/zyCJLb84jS/lnefnll2P8+PFt13fZZZe466674oQTToiTTz45/u3f/i2THOWYRxZZenMeWco/y7p16+I973lPRETsvPPOsfPOO7c7WVdNTU289NJLmeUpFaUUACV38MEHR0R0egbPrswJ1lfzyCJLb84jS/lnGTduXDz11FMxceLEtmVDhw6NO++8M44//vg49dRTM8lRjnlkkaU355Gl/LOMGTMmXnzxxbZJ1a+//vp2Z2//05/+FO9+97szy1Mq5Xt+dAD6jTPOOCMqKys7XT969Oj46le/2i/zyCJLb84jS/lnOf7442P+/PnbLH/Xu94Vd9xxRwwaNCiTHOWYRxZZenMeWco/y7HHHhtPP/102/W/+7u/i6FDh7Zdv/POO9v+iNGXOfteGTvuuONi/fr1XR4/fPjw+K//+i9ZZCl5lnLLI0v5ZwGgNNasWRMrV66M/fbbr8P169ati0ceeaTTvbr6ch5ZZOnNeWQp/yxvZenSpTFo0KB2h/T1RQ7fK2OTJ0+OZcuWdXn8nnvuKYssZZElorzyyFL+Wd58883YtGlTl8dXVFTEgAE99xJWTnlkkaU355Gl/LMMHTo09tprr9i4cWOH6wcOHBhHHHFE2/qefv6WUx5ZZOnNeWQp/yxv9VowduzYiIjMnr+lYk+pMnbwwQfHz372sy7PKXD66afHQw89JIssJc9Sbnlk6R1ZujKHSi6Xi5RSrF+/vsefv+WSRxZZenMeWfpGllwuFxFRNs/frPLIIktvziNL78/S+hqQ1fuHUul7NVsfklJqm/Ssq+NlkaUcsrTefrnkkaV3ZLn33nu7PP7QQw/tsSwR5ZVHFll2VDnlkUWWHVVOeWSRZUeVUx5ZZOktTHRexlob2p4a35O3LUv3jO/J2+7JLG/n9vvLYyNL99y252/3je/J25ale8bvqHLKI0v33HZ/yfJ2br+/PDaydM9te/523/ievG1Zumd8b6GUAgAAACBzSikAAAAAMmdOqTKWUoorr7yyy2NlkaVcsrTeR7nkkaX8swAAAP2PUqqM/cu//Eu0tLR0efwJJ5wgiyxlkSWivPLIUv5Zdtlll5gyZUqXx48YMaLHskSUVx5ZZNlR5ZRHFll2VDnlkUWWHVVOeWSRpbdQSpWxI444otQR2sjSMVk6V055ZOlYOWWZPHlyLFu2rMvj99xzz54LE+WVRxZZdlQ55ZFFlh1VTnlkkWVHlVMeWWTpLXLJMRkAlNjBBx8cP/vZz7p8mODpp58eDz30UL/II4ssvTmPLLL05jyyyNKb88giS29hTykASi6lFLvtttsOje9J5ZRHFll2VDnlkUWWHVVOeWSRZUeVUx5ZZOktnH0PgJLL5XI9On5HlVMeWbrntvtLlrdz+/3lsZGle27b87f7xvfkbcvSPeN3VDnlkaV7bru/ZCklpRQAAAAAmVNKAQAAAJA5c0oBUHIppbjyyiu7PLanlVMeWWTZUeWURxZZdlQ55ZFFlh1VTnlkkaW3cPY9AEpu8eLF0dLS0uXxVVVVcfjhh/eLPLLI0pvzyCJLb84jiyy9OY8ssvQWSikAAAAAMmdOKQAAAAAyp5QCAAAAIHNKKQAAAAAyp5QCAAAAIHNKKQAAAAAyN6DUAQAA+rNFixbFBRdc0OG6E088MR5++OF4+eWXO1z/0EMPxcCBA3syHgBAj1FKAQCUUEtLS3z0ox+N2bNnt1u+bNmyuPTSS2PdunXx6KOPbvN9U6dOjU2bNmUTEgCgBzh8DwAAAIDMKaUAAAAAyJxSCgAAAIDMKaUAAAAAyJxSCgAAAIDMKaUAAAAAyJxSCgAAAIDMKaUAAAAAyJxSCgAAAIDMKaUAAAAAyNyAUgcAAOjPqqqq4rbbbovbbrttm3UnnHBCvPrqqzF58uQOv7eiwt8XAYDeK5dSSqUOAQAAAED/4s9rAAAAAGROKQUAAABA5pRSAAAAAGROKQUAAABA5pRSAAAAAGROKQUAAABA5pRSAAAAAGROKQUAAABA5pRSAAAAAGTu/wdxHRCZt63RCgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "    ID    姓名  成绩 等级 等级详细    分数区间\n",
      "0    1   学生1  80  B   B-   80-89\n",
      "1    2   学生2  69  D    D   60-69\n",
      "2    3   学生3  77  C   C+   70-79\n",
      "3    4   学生4  58  F    F    0-59\n",
      "4    5   学生5  93  A   A-  90-100\n",
      "5    6   学生6  90  A   A-  90-100\n",
      "6    7   学生7  62  D    D   60-69\n",
      "7    8   学生8  75  C   C+   70-79\n",
      "8    9   学生9  76  C   C+   70-79\n",
      "9   10  学生10  72  C   C-   70-79\n",
      "10  11  学生11  77  C   C+   70-79\n",
      "11  12  学生12  70  C   C-   70-79\n",
      "12  13  学生13  81  B   B-   80-89\n",
      "13  14  学生14  60  D    D   60-69\n",
      "14  15  学生15  60  D    D   60-69\n",
      "15  16  学生16  59  F    F    0-59\n",
      "16  17  学生17  93  A   A-  90-100\n",
      "17  18  学生18  66  D    D   60-69\n",
      "18  19  学生19  68  D    D   60-69\n",
      "19  20  学生20  65  D    D   60-69\n",
      "20  21  学生21  79  C   C+   70-79\n",
      "21  22  学生22  78  C   C+   70-79\n",
      "22  23  学生23  79  C   C+   70-79\n",
      "23  24  学生24  73  C   C-   70-79\n",
      "24  25  学生25  68  D    D   60-69\n",
      "25  26  学生26  96  A    A  90-100\n",
      "26  27  学生27  73  C   C-   70-79\n",
      "27  28  学生28  75  C   C+   70-79\n",
      "28  29  学生29  69  D    D   60-69\n",
      "29  30  学生30  75  C   C+   70-79\n",
      "班级平均分: 73.87\n",
      "请输入有效的学生编号（数字）。\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import os\n",
    "import zipfile\n",
    "\n",
    "# 获取用户输入的文件路径\n",
    "file_path = input(\"请输入要分析的Excel文件路径: \")\n",
    "\n",
    "# 读取Excel文件\n",
    "try:\n",
    "    df = pd.read_excel(file_path, sheet_name='Sheet1')\n",
    "except Exception as e:\n",
    "    print(f\"读取文件失败: {e}\")\n",
    "    exit()\n",
    "\n",
    "# 定义分数区间和对应的等级\n",
    "def get_grade(score):\n",
    "    if score < 60:\n",
    "        return 'F'\n",
    "    elif 60 <= score < 70:\n",
    "        return 'D'\n",
    "    elif 70 <= score < 80:\n",
    "        return 'C'\n",
    "    elif 80 <= score < 90:\n",
    "        return 'B'\n",
    "    elif 90 <= score <= 100:\n",
    "        return 'A'\n",
    "\n",
    "def get_grade_detail(score):\n",
    "    if score < 60:\n",
    "        return 'F'\n",
    "    elif 60 <= score < 70:\n",
    "        return 'D'\n",
    "    elif 70 <= score < 80:\n",
    "        if score < 75:\n",
    "            return 'C-'\n",
    "        else:\n",
    "            return 'C+'\n",
    "    elif 80 <= score < 90:\n",
    "        if score < 85:\n",
    "            return 'B-'\n",
    "        else:\n",
    "            return 'B+'\n",
    "    elif 90 <= score <= 100:\n",
    "        if score < 95:\n",
    "            return 'A-'\n",
    "        else:\n",
    "            return 'A'\n",
    "\n",
    "# 计算每个学生的等级\n",
    "df['等级'] = df['成绩'].apply(get_grade)\n",
    "df['等级详细'] = df['成绩'].apply(get_grade_detail)\n",
    "\n",
    "# 计算班级平均分\n",
    "average_score = df['成绩'].mean()\n",
    "\n",
    "# 绘制班级成绩分布柱状图\n",
    "def plot_score_distribution(df):\n",
    "    bins = [0, 60, 70, 80, 90, 100]\n",
    "    labels = ['0-59', '60-69', '70-79', '80-89', '90-100']\n",
    "    df['分数区间'] = pd.cut(df['成绩'], bins=bins, labels=labels, right=False)\n",
    "    score_distribution = df['分数区间'].value_counts().sort_index()\n",
    "\n",
    "    plt.figure(figsize=(10, 6))\n",
    "    plt.bar(score_distribution.index, score_distribution.values, color='skyblue')\n",
    "    plt.xlabel('分数区间')\n",
    "    plt.ylabel('人数')\n",
    "    plt.title('班级成绩分布柱状图')\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "# 绘制班级成绩分布柱状图\n",
    "plot_score_distribution(df)\n",
    "\n",
    "# 绘制柱状图\n",
    "plt.figure(figsize=(12, 6))\n",
    "plt.bar(df['姓名'], df['成绩'], color='skyblue')\n",
    "plt.axhline(y=average_score, color='r', linestyle='--', label=f'班级平均分: {average_score:.2f}')\n",
    "plt.xlabel('学生')\n",
    "plt.ylabel('分数')\n",
    "plt.title('学生成绩柱状图')\n",
    "plt.xticks(rotation=90)\n",
    "plt.legend()\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "# 绘制散点图\n",
    "plt.figure(figsize=(12, 6))\n",
    "plt.scatter(df['姓名'], df['成绩'], color='blue', label='学生成绩')\n",
    "plt.axhline(y=average_score, color='r', linestyle='--', label=f'班级平均分: {average_score:.2f}')\n",
    "plt.xlabel('学生')\n",
    "plt.ylabel('分数')\n",
    "plt.title('学生成绩散点图')\n",
    "plt.xticks(rotation=90)\n",
    "plt.legend()\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "# 输出结果\n",
    "print(df)\n",
    "print(f\"班级平均分: {average_score:.2f}\")\n",
    "\n",
    "# 保存结果到Excel文件（可选）\n",
    "save_option = input(\"是否将结果保存到Excel文件？(y/n): \")\n",
    "if save_option.lower() == 'y':\n",
    "    output_path = input(\"请输入保存路径（包括文件名，例如 output.xlsx）: \")\n",
    "    try:\n",
    "        df.to_excel(output_path, index=False)\n",
    "        print(f\"结果已保存到 {output_path}\")\n",
    "    except Exception as e:\n",
    "        print(f\"保存文件失败: {e}\")\n",
    "\n",
    "# 导出单个学生成绩和散点图\n",
    "student_id = input(\"请输入要导出的学生编号（输入0跳过）: \")\n",
    "if student_id != '0':\n",
    "    try:\n",
    "        student_id = int(student_id)\n",
    "        student_data = df[df['ID'] == student_id]\n",
    "        if not student_data.empty:\n",
    "            # 保存学生成绩到Excel文件\n",
    "            output_student_path = input(f\"请输入保存路径（包括文件名，例如 学生{student_id}_成绩.xlsx）: \")\n",
    "            student_data.to_excel(output_student_path, index=False)\n",
    "            print(f\"学生 {student_id} 的成绩已保存到 {output_student_path}\")\n",
    "\n",
    "            # 绘制并保存散点图\n",
    "            plt.figure(figsize=(8, 6))\n",
    "            plt.scatter(df['姓名'], df['成绩'], color='blue', label='学生成绩')\n",
    "            plt.scatter(student_data['姓名'], student_data['成绩'], color='red', label=f'学生{student_id}成绩')\n",
    "            plt.axhline(y=average_score, color='r', linestyle='--', label=f'班级平均分: {average_score:.2f}')\n",
    "            plt.xlabel('学生')\n",
    "            plt.ylabel('分数')\n",
    "            plt.title(f'学生成绩散点图（突出显示学生{student_id}）')\n",
    "            plt.xticks(rotation=90)\n",
    "            plt.legend()\n",
    "            plt.tight_layout()\n",
    "\n",
    "            # 保存散点图\n",
    "            scatter_plot_path = os.path.splitext(output_student_path)[0] + \"_散点图.png\"\n",
    "            plt.savefig(scatter_plot_path)\n",
    "            print(f\"散点图已保存到 {scatter_plot_path}\")\n",
    "\n",
    "            # 将Excel文件和散点图打包为ZIP文件\n",
    "            zip_path = os.path.splitext(output_student_path)[0] + \"_打包.zip\"\n",
    "            with zipfile.ZipFile(zip_path, 'w') as zipf:\n",
    "                zipf.write(output_student_path, os.path.basename(output_student_path))\n",
    "                zipf.write(scatter_plot_path, os.path.basename(scatter_plot_path))\n",
    "            print(f\"成绩和散点图已打包到 {zip_path}\")\n",
    "\n",
    "        else:\n",
    "            print(f\"未找到编号为 {student_id} 的学生。\")\n",
    "    except ValueError:\n",
    "        print(\"请输入有效的学生编号（数字）。\")\n",
    "    except Exception as e:\n",
    "        print(f\"保存文件失败: {e}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABBAElEQVR4nO3debic8+H//9dJTpzsO1FJZBFBELHW0gal6KdJmyoaVIsqpbXTUkopohqxVAmpn4jad1G70KrWkjbShtiFJKKSiOw52eb3h8t8e2SR7XZOeDyu676uzD333POeydvI89z33KeiVCqVAgAAAKxx9Wp7AAAAAPB5JboBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AfhCe/HFFzNs2LAV2rZUKhUyhr///e8ZPXp0kmTcuHHL3G78+PF58803l3rfwoULc9ppp+Xll19e4eetrq6u8edHHnlkhR/7v4477rjccsstK/WYu+++O88///wS6xcvXpyHHnqo/H4sz5w5czJmzJjMmzevxvpzzz03p59++kqNBwCKIroB+EJ74YUXcvzxx2fevHlZuHBhOawXLlyYuXPnlrdbtGhRtt122zz88MNJknfeeSdvvfVWxo8fnwkTJtRYPvzww5Uaw4ABA3LWWWdlzpw52WmnnXLEEUdk0aJFS2x34403plevXpk+fXqS5MMPP8zcuXPLY7/ooovy5ptvZt68eZk3b15mzJiR+fPnL/U5x48fn06dOmXEiBFJklGjRmXvvffOP/7xj5Ua+8SJE3PFFVfkrbfeWqnH/epXv8pdd921xPp69erlxBNPzNlnn/2p+/j3v/+dLbfccokfVPz1r3/N888/n/fffz8nnXRS5syZU+P+YcOGpaKiYqWXWbNmrdRrBIBEdAPwBdCrV69suOGG6dy5czp27JhNN920fF+9evXStm3b9OvXL1VVVamsrExlZWWqqqryjW98o7zd7bffnrfffjtbb711kuSwww7LFltskQ033DBbbLFFeenYsWNuuOGGlRpfkyZNss4666Rx48a57777cvvtt+cnP/nJEtvdf//9Ofroo9OiRYskyfbbb5/111+/vJRKpRxwwAFZf/31065du6y77rp58MEHl/qcF154YRYuXJhtt902SbLjjjumT58+OeGEE7Jw4cKlPmbGjBmZM2dOjR8IXHXVVWnevHmOPfbYJbZfvHhx5s+fv9RYbdiwYaqqqpb6PMcee2waNmy41DML/vznP+df//pXkmSdddZJkiX206hRo7Rr1y6NGjXKc889l3322SezZ88u319ZWZk2bdpk7ty55WXMmDEZNGhQpk2bVmP93Llz8/jjjy/1eQBgRVTW9gAAoGhDhgxJkuywww657bbb0qlTp/J9FRUVadiwYYYPH54GDRrk0EMPTdu2bTNw4MDyUeJ58+blrLPOyqBBg7LeeuvlnnvuyYMPPphZs2alTZs2ee+999KwYcO8//77adeuXfr06bPEGD788MO89957Sx1fdXV1Zs+enZdffjnNmjXLueeemzZt2uTtt98uj/W1117LCy+8kLvuuitTpkxJy5Yt8+qrr6a6ujoNGzZM8lFM3n///dltt93KR+0bNGiwxPO9/vrrufbaa/Pb3/62HPBJcvHFF2errbbKb37zm5xzzjlLPK5nz555++23l/oamjVrttT1SfLlL385zzzzTBYtWpTq6upyLH/82kulUs4///xMmTIl9evXT5K0bds2xx57bBYvXpx58+bl5z//eTbddNM88sgjueuuu/LPf/4z9ep9dOygoqKixvM1aNAglZWVadasWR588MHsueeeeeGFF7LLLruU36ck5fct+ehsgwcffDDf+c53sv7665fXN2zYsDzej8cGACtDdAPwubf99tuX/7zZZptliy22yKOPPpo5c+akoqIiVVVVS43Tj2PrxBNPzOabb54f/vCHefbZZ7PvvvvmiSeeyBZbbFFju6eeeirdu3dPly5dltjXrbfemqOPPjrNmzdf4r7q6uosWLAgO+64Y5KPTmVfsGBBjjzyyFx++eVJkt/85jc5/vjjs9566+WYY47JqFGjcuedd6ZHjx6pqqpKRUVFFi1alH333TfrrLNOFixYkEGDBuWHP/xhjedavHhxfvjDH6ZLly455phjatzXvXv3DBgwICeddFI6dOiQH//4xzXuf+yxx8rvV2VlZX7+85/niSeeyN/+9reMGzcuY8eOTb9+/Zb5Pj7xxBP5+te/Xl7/z3/+M+ecc06OOuqo9OrVKy1atEhlZWUeeuihvPXWWzn66KPLp/l/HMiDBg3Kyy+/nMMPPzznnXdeko++az9nzpw0bNgw9erVK58Onnz0w4Cnn366xmn2n/y7fuSRR3LjjTcmSY2/u7333jsPPfRQ+fbHkQ8AK0N0A/CF9Mgjj2T69On5+te/XuOI5yddd911GTx4cPr27Zt+/frl+eefzxFHHJFdd901kyZNSr169cox9thjj2WvvfZa6n7q1auXDTbYIBMmTFjivksuuSQ33HBD+bTphQsXlo/GJh99R/mGG27ITjvtlF133TXPPfdcfv/736dBgwY19teyZcvceOON+epXv5rkoxj94IMP0rp16/I2559/fp5//vn87W9/W+oPGk444YS88cYbOfLII/PKK6/kggsuKEdzt27dyts999xzufHGG3PXXXelU6dOuf/++/O73/1uqafFf+yrX/1q3nvvvUyaNClbb711TjvttJx88slp0KBBjSPuH374YRYuXJgTTjhhiX3Ur18/N998c/7zn/+U17399tvp2rXrEttef/315T+3adMmU6ZMSVLzyPibb76ZQw45JI0aNcqzzz6bLbfcMvfdd19++MMf5qqrrlrmawGAFSW6AfhCmjt3bho0aJDFixcvN7r32muvnHbaadlhhx1y0003pVGjRrn44ouTpHzV7NmzZ6dx48YZPnx4+cJiRx99dK688sryfj4O809+X7qysjLrrrtu3n333fK6gw46KG3bti0/vlevXjnxxBOzww47ZMiQIdl1113Tq1evtG/fPo0aNSpHZNOmTXPggQeW97N48eJ07do1L7zwQpKPIvTss8/OKaeckrZt22b8+PFLnJqdJL/4xS9SVVWVQYMG5c9//nOGDRtW42yB//73v9l///3zox/9KN/+9reTfHT0+NO+81xVVZV27drlnnvuKd/+8MMPa8T8imjdunV23XXXjBo1KknSvn37vPjii2nSpEnq16+fvn37ZubMmXnyySeTfHTmwCevcP6xn/zkJ9lll12yxx57ZI899sgZZ5yR8847L7feeutSz1gAgJUlugH43PvRj36Up59+OknyrW99KzvvvHMqKirSvn37TJ06NQ0bNswJJ5yQBx54IJMnT079+vVz//335+c//3kOP/zwDBgwIKNGjcojjzySJ554ovz95cmTJ2fx4sW59tprc9xxx5V/XddWW22VPfbYo8YY6tWrl4kTJy5xdHny5Mnp2rVrJk+enLlz52bOnDm5995788tf/rK8TfPmzTNo0KA8/fTTeeGFFzJq1KhsuOGGy7wy+dKMGTMmP/rRj/KTn/wkM2bMyEYbbbTc7c8444w88MAD+fWvf53u3buX10+bNi19+vTJO++8kyFDhpS/L/+xT0b8kCFDcsQRR9RY9/GF5oYOHZo//OEPee2111JVVZWZM2dmnXXWKV+N/cMPP8yCBQuyaNGiGt+z/tiFF16Y5KPg33jjjcvr33333UyZMiXNmzdf6un8/+vWW29N48aN89577+XKK6/MCSeckH322af81QEAWF2+nATA596xxx5bjsNf//rXOemkkzJ16tS0bNkyU6ZMSdu2bXPcccfl9ttvz2677ZZvfetbue222/LNb34zyUe/O/vb3/52Lr744vTq1Svjx48vr2/cuHEuuOCCzJo1K02bNs2kSZPy1ltvZbfddqsxhvnz56dDhw557bXX8tprr2Xo0KGpX79+WrdunR49eqRUKmXkyJG5/PLL07p165xyyik1Hj927Njst99+ufTSS9OgQYOMHTs2CxcuTEVFRerXr1++6vrHS0VFRYYOHVp+/BZbbJFnn302f/jDH3LRRRflgw8+yP33358keeWVVzJz5szy0rhx43Tu3Dn77LNPnnnmmfKp3xMnTszuu++e999/P9ttt12OOuqojB8/PuPHj89FF12UjTbaqHx7/PjxWX/99Zc4+v2Xv/wl//znP9O5c+f069cvCxYsyLnnnpuHH3447dq1S5s2bXLRRRflr3/9a9q2bZv11lsvX/nKV5b4O/3tb3+b++67b4n1//3vf/P++++nUaNG+dvf/rbceTFt2rTcdtttOfjgg7PZZpvlK1/5Sv7617+msrIynTp1yte//vX86le/WqkfbgDAJ4luAD73evXqVf6e8zbbbJNtttkmDzzwQE477bSMGzcunTt3TteuXbPVVlulRYsWad26dXr27Jl27dplwoQJ2WmnnfLf//43AwcOTOPGjbPffvsl+eh7zT/4wQ/SrVu3nH/++Uk+OnK6yy67pE2bNjXGMHv27LRo0SLdunVLt27d0rx587Rp0yb16tVLy5Yts9lmm+X222/PwIEDc9ZZZ6VJkyblxy5atChf+cpX8t577+UnP/lJOnbsmAEDBpQD+89//nMWLlyYl19+OVOnTs3ChQvTqVOnGt8LT5Jtt902FRUVad68eVq1apW33norLVu2TPfu3dO0adM0bdo0ixYtypw5c7LhhhvWeOzbb7+dbbbZJtOnT8+IESPSvn37NG3aNB06dEiHDh3SqlWrVFZWlm936NAh9evXr3Fkf86cOTnmmGPy/e9/P23atEnLli3LF3Pr27dvFi1alEWLFuWss87K1772tSxcuDCLFy/Oiy++WGMst9xyS84666zyaf7/68knn0z79u3Tt2/fGhdBW5omTZrkjjvuSPfu3fPvf/87b775Zn7zm9/k0EMPzTPPPJOtttoqs2bNqnG1dQBYWU4vB+AL7cknn8wll1yyzPvXX3/97LHHHtl0002z3XbbZdNNN03Hjh1TKpVy55135oorrsjhhx+er371q+nTp08uueSS8hXH/9ekSZNqnOo8a9asGhc422uvvXLppZdm2223XeKq4fXr188ll1yStm3bZrPNNkvHjh3LQf3x6dzz589P9+7dc99995V/Zdn//j7tpbn33nuXOCL/8YXZOnbsWGN9p06d8rvf/S577rlnNthgg+Xud1nOPffcvP7667n33nvTv3//JMl555233KuCf3y19I/96U9/ymGHHZYBAwZk5513XmL7W265JXvttVd22223/OIXv8jFF1+81AvGJR9dVf3RRx9N8tH336+++upcccUVOfTQQzN48OAMHDgwST71iDkALI/oBuALZ/bs2VlnnXUyfvz4jBs3rnwUfGkqKyvzpz/9KXPnzs3zzz+fYcOG5YMPPsj222+fevXq5Rvf+Ebq1auXo446Kl/72tfSrVu3clD+r3/96181vnc8ceLEGkfDP47nU089NZWVlZk3b15mz55d3uYHP/hBko/i+pVXXsmbb76ZPn36ZMGCBUmSF198MZWVlendu3d5n9XV1ct8XSNGjMhjjz2W4cOH11g/ceLEJEtG9/+OIfnoyuifZvHixTVuH3zwwSmVSjUunLayv4arsrIyffv2zcknn5zRo0fXuO/NN9/M8OHD88gjj2SnnXbKCSeckKuvvjo/+9nPlrvPUqmUzTffPJ07d853v/vdjBo1ykXUAFhjnF4OwBfK7373u3Ts2DEjR47MVVddld13373GEedPevrpp7PVVlulefPm6d+/f15//fVssskmOeWUU2ocpe3UqVPmz5+fdu3aLXGl7Pnz5+eZZ55Jr1698uSTT+a4447LFVdcUY7Piy66KFdccUW22WabDBw4MPPnz8+LL76Ybt265eWXX87f//737LTTTunUqVMaN26crbfeOkOGDEmpVMrw4cOz7bbbZvDgwdltt93yzjvv5NZbb83tt9+evn37LvU1/e1vf8v++++fvn37lo+Kf+zVV19Ny5Yt07Rp0+W+j8sL+uuvvz7HHnts3nvvvay77rrl9VtuuWUGDBiQZMWifWn69++fO+64IxUVFUvs48wzz0yPHj3yta99LY0aNcqJJ56Y0047LWPHjq2x3dLOALj++uvTq1evnHvuuenRo0f5Ym//65M/RACAFeFINwCfa3Pnzs3dd9+doUOHpqKiIpMnT86NN96YZs2a5fe//33uvffezJkzJ9XV1WnQoEEWLlyYBQsWZPr06ZkzZ0622WabfPe73821116bbbfdNuPGjUufPn2y995758ADD8zkyZNz8skn589//nNuvfXWDBgwILvsskuuueaa7LDDDkmSG2+8MXPmzMm+++6befPm5emnn84ee+yRE044IYccckjuvPPO3H333dluu+2y2Wab5ZBDDknPnj0zffr0tG3bNi1btkz79u1z4IEHpnfv3tl8883Lp0zvsMMOGTBgQK677ro8+uijGT16dH72s59l0003zZAhQ/KlL32p/F5MmzYtV1xxRc4///zssssuufnmm8v33XLLLfn3v/+doUOHZscdd/zU97WioqLGaduLFy8uR/CkSZNyyy235Igjjqhx5D35f0e258+fX75A2XvvvZd58+aVT5mfMWNGqqury6e6L1y4MFVVVeXX8vE+Pj7Kv3Dhwtx55525+eaba1xc7dRTT83QoUOz11575YEHHsiWW25Z3n7x4sU1fsf5BhtskJ/+9Kc5+uij88ADD2SbbbYp3z958uTy43y/G4CVVgKAz7H333+/1KZNm9IPf/jD0osvvlgqlUqliRMnlrp161bq169fqVQqlf70pz+VqqqqSi1atCgvTZs2LdWvX7+0YMGCGvsbNGhQaf/99y/NmzevdMopp5SaNWtW+uY3v1l65513SqVSqTR9+vRSnz59SklKN954Y2nmzJmldu3alb73ve/V2M/jjz9eateuXWmTTTYpjRw5srz+nnvuKTVo0KCUpLT99tsv83UNGjSo1Lt371L9+vVLm2++eenpp58u3/fuu++W9tprr1JVVVVp6NCh5fU//elPS40bNy5dcMEFS7yuW2+9tfSlL32pdPDBB5cmTJiwMm9xqVQqla688spSly5dSqVSqbR48eJP3b579+6lk08+uVQqlUo//vGPS40bNy41b968xt9BixYtSs2bNy81adKk9IMf/GCJfTz99NOlJKVBgwaVmjRpUurfv/8S2zz//POlxo0blzp27Fj64IMPSqVSqXTjjTeWkqz0Mnv27JV+XwCgolRaxfO7AGAtMXv27BpXA3/11Vdzzjnn5LLLLkvbtm1Xeb+PP/54GjRosMTR3CS54447su+++6ZevXoZO3ZsmjVrlg4dOpTvnz9/fi677LL87Gc/S6NGjWo89qWXXsqdd96ZPn36ZOutt17qcz/11FO5+eabs99++2X33Xdf4vdjL168OJdeemkOPPDA8hHiRYsW5b333kv79u1X+TUvy6WXXprf/va3mTRp0hrf97L89a9/za677po//vGPueWWW3LnnXcu9fdyP/HEE2nZsmX5vRw2bFhOOumkTJkyZYWe529/+1u++tWvZvr06Z/6e78B4JNENwDwhTJr1qxMmzZtqReLA4A1TXQDAABAQVy9HAAAAAoiugEAAKAgohsAAAAK8rn6Pd2LFy/Ou+++m2bNmi1xFVcAAABYU0qlUmbOnJkNNtgg9eot+3j25yq63333XVciBQAA4DMzfvz4Gr8W9JM+V9HdrFmzJB+9aL9HEwAAgKLMmDEjHTt2LHfosnyuovvjU8qbN28uugEAACjcp3212YXUAAAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAglbU9AAD4LF04akptD4G1yGlbt63tIQCwlnOkGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAApSq9E9derUdOnSJePGjSuvu/fee9O1a9dUVlbmy1/+csaOHVt7AwQAAIDVUGvRPWXKlPTp06dGcL/xxhs57LDDcuGFF2bixInp1KlTjjjiiNoaIgAAAKyWWovu/v37p3///jXWjR07NhdccEEOOOCAtGvXLkcffXRGjhxZSyMEAACA1VNZW098zTXXpGvXrjnhhBPK6/r06VNjm1deeSXdunX7jEcGAAAAa0atRXfXrl2Xe//8+fMzcODAnHjiicvcprq6OtXV1eXbM2bMWGPjAwAAgNVVZ69efuaZZ6Zp06Y58sgjl7nNgAED0qJFi/LSsWPHz3CEAAAAsHx1MrofffTRDB48ODfddFMaNGiwzO1OP/30TJ8+vbyMHz/+MxwlAAAALF+tnV6+LG+++WYOPvjgXHXVVenRo8dyt62qqkpVVdVnNDIAAABYOXUquufOnZs+ffqkX79++fa3v51Zs2YlSZo0aZKKiopaHh0AAACsnDp1evnDDz+csWPHZsiQIWnWrFl5efvtt2t7aAAAALDSav1Id6lUKv+5X79+NW4DAADA2qxOHekGAACAzxPRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFqdXonjp1arp06ZJx48aV140ZMybbb799WrVqlVNPPTWlUqn2BggAAACrodaie8qUKenTp0+N4K6urk7fvn2z7bbbZuTIkXnppZcydOjQ2hoiAAAArJZai+7+/funf//+NdY9+OCDmT59egYNGpSNNtooF1xwQa699tpaGiEAAACsnlqL7muuuSbHH398jXWjR4/OjjvumMaNGydJevbsmZdeeqk2hgcAAACrrbK2nrhr165LrJsxY0a6dOlSvl1RUZH69etn2rRpadWq1RLbV1dXp7q6usbjAQAAoK6oU1cvr6ysTFVVVY11DRs2zJw5c5a6/YABA9KiRYvy0rFjx89imAAAALBC6lR0t27dOpMnT66xbubMmVlnnXWWuv3pp5+e6dOnl5fx48d/FsMEAACAFVJrp5cvzfbbb58//vGP5dvjxo1LdXV1WrduvdTtq6qqljgyDgAAAHVFnTrS3bt370yfPj3Dhg1Lklx44YXZc889U79+/VoeGQAAAKy8OnWku7KyMtdcc00OOuignHrqqVm0aFH+8pe/1PawAAAAYJXUenSXSqUat/v165fXXnstI0eOzM4775x11123lkYGAAAAq6fWo3tp2rdvn/bt29f2MAAAAGC11KnvdAMAAMDniegGAACAgohuAAAAKIjoBgAAgIKIbgAAACiI6AYAAICCiG4AAAAoiOgGAACAgohuAAAAKIjoBgAAgIKIbgAAACiI6AYAAICCiG4AAAAoiOgGAACAgohuAAAAKIjoBgAAgIKIbgAAACiI6AYAAICCiG4AAAAoiOgGAACAgohuAAAAKIjoBgAAgIKIbgAAACiI6AYAAICCiG4AAAAoiOgGAACAgohuAAAAKIjoBgAAgIKIbgAAACiI6AYAAICCVNb2AIC1z4WjptT2EFjLnLZ129oeAgBArXCkGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAApSJ6P7hhtuyIYbbpimTZtmzz33zLhx42p7SAAAALDS6lx0v/HGGznjjDNyzz335KWXXkqnTp1y6KGH1vawAAAAYKXVuegeNWpUdtxxx2yzzTbZcMMNc9hhh+XVV1+t7WEBAADASqtz0d2jR4+MGDEio0aNyvTp0/OHP/whX//612t7WAAAALDSKmt7AJ/Uo0eP7Lffftlmm22SJF26dMmzzz671G2rq6tTXV1dvj1jxozPZIwAAACwIurcke5nnnkmw4cPz7PPPpuZM2fmwAMPzP/93/+lVCotse2AAQPSokWL8tKxY8daGDEAAAAsXZ2L7ltvvTX9+/fPDjvskKZNm+a8887Lm2++mdGjRy+x7emnn57p06eXl/Hjx9fCiAEAAGDp6tzp5QsXLsy0adPKt2fOnJnZs2dn0aJFS2xbVVWVqqqqz3J4AAAAsMLqXHTvsssuOfzww3PJJZekXbt2+eMf/5h27dqlZ8+etT00AAAAWCl1Lrq/973v5ZVXXsmll16aSZMmZYsttshdd92VBg0a1PbQAAAAYKXUueiuqKjI2WefnbPPPru2hwIAAACrpc5dSA0AAAA+L0Q3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFWOrrnz5+fo446arnb/O53v8uECRNWeVAAAADweVC5sg9o0KBBbrjhhowfPz7t27fPJptskp133jk77LBDKisr8+ijj+bcc8/NN77xjXTo0KGIMQMAAMBaYaWju6KiIm3atMnxxx+fSZMm5a233sqZZ56ZV199Nd/73vdy/fXX54YbbsgWW2xRxHgBAABgrbHC0X3dddelffv26d27dxo1apS99967fN/IkSNzyimnZPDgwdl5553Tr1+/IsYKAAAAa5UV/k73P//5z5x66qlp1apV/vvf/+ass87KQQcdlC5duuT444/PIYcckilTpqR169b55S9/WeSYAQAAYK2wwke6r7jiiiTJmDFjMmzYsDz77LMZMWJEfvGLX+S8884rb3fNNdekZ8+eOfDAA7Pllluu+REDAADAWmKFj3SffPLJOeyww/Lggw9m2rRpGTZsWH7wgx+kW7du6du3b+64447Mnj07X/va13LGGWdk4sSJRY4bAAAA6rwVju4LLrgge+yxR2bNmpX69evnoIMOyje+8Y0ceuiheeaZZ3L99ddno402ytZbb50jjzwy++yzT5HjBgAAgDpvhU8v32+//bLOOutk8uTJee+997LpppvmzjvvzE477ZRWrVpl+PDh2X///fPII4/kvffey/rrr1/kuAEAAKDOW+Ej3QcccEAOOOCAfPWrX83rr7+eRo0a5bvf/W6+8pWvZOrUqfn73/+e119/PRdddFFOOOGEAocMAAAAa4cVju5ddtklAwcOTLNmzdKvX7+8/fbbadSoUV588cUkyamnnpoOHTqkf//+eeONN/Laa68VNmgAAABYG6zw6eWPP/54TjvttFRUVOTll1/OFVdcka985St55pln0rhx4zz99NOZNGlSkqR///75+9//no033riwgQMAAEBdt8LR/eMf/zhJsmDBguy9995p0qRJhg8fnrZt2+a2225LknzpS19KqVTKkUcemWbNmhUzYgAAAFhLrPDp5R9r0KBBmjRpkiTZfPPNU69evey0007l+4cNG5Zvfetba26EAAAAsJZa6ehenqlTp+aXv/xljQgHAACAL6o1Ft3z5s3Ld7/73WywwQY5++yz19RuAQAAYK21RqL7zTffTO/evTNnzpw89thjqaqqWhO7BQAAgLXaakX3hx9+mDPOOCO9evXKnnvumaeeeiotWrRYU2MDAACAtdoKXb186tSpufrqq9OuXbuUSqVMmzYto0ePzogRI7Lvvvvm+eefzyabbFL0WAEAAGCtskLRPXny5Nx1112prKxM/fr1M3ny5Lzzzjtp1apVGjVqVPQYAQAAYK20QtG96aabZuTIkTXWVVdX5x//+Eeuv/767LDDDvnxj3+cc889N40bNy5koAAAALC2WeXvdFdVVWW33XbLddddl3/961/517/+ld69e+eDDz5Yk+MDAACAtdYauXr5RhttlMceeyzdu3dP7969M2vWrDWxWwAAAFirrbHf012vXr386U9/ynrrrZef/OQna2q3AAAAsNZaY9GdfBTegwcPznPPPZcPP/xwTe4aAAAA1jordCG1ldG9e/eMHj3aVc0BAAD4wlujR7o/JrgBAACgoOgGAAAARDcAAAAURnQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQep0dJ922mnp27dvbQ8DAAAAVkllbQ9gWcaMGZMrr7wyo0aNqu2hAAAAwCqpk0e6S6VSjjrqqJxwwgnZaKONans4AAAAsErqZHQPGTIkL7zwQrp06ZL7778/CxYsqO0hAQAAwEqrc9E9a9asnHnmmdl4440zYcKEDBo0KL179868efOW2La6ujozZsyosQAAAEBdUeei+6677srs2bMzYsSI/OpXv8ojjzySDz/8MMOGDVti2wEDBqRFixblpWPHjrUwYgAAAFi6OhfdEyZMyJe//OW0bt06SVJZWZmePXvmrbfeWmLb008/PdOnTy8v48eP/6yHCwAAAMtU565e3rFjx8ydO7fGurfffju77777EttWVVWlqqrqsxoaAAAArJQ6d6T7m9/8ZsaOHZvBgwdnwoQJufzyy/PCCy9kn332qe2hAQAAwEqpc9HdunXrPPTQQ7nhhhvSvXv3XHrppbnlllvSuXPn2h4aAAAArJQ6d3p5kuy44455+umna3sYAAAAsFrq3JFuAAAA+LwQ3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQkDod3fvss0+GDh1a28MAAACAVVJno/vGG2/Mww8/XNvDAAAAgFVWJ6P7gw8+yMknn5xNNtmktocCAAAAq6yytgewNCeffHK+853vZO7cubU9FAAAAFhlde5I9xNPPJHHH388v/3tbz912+rq6syYMaPGAgAAAHVFnTrSPW/evBx11FG56qqr0rx580/dfsCAATnnnHM+g5EBAACr6sJRU2p7CKxlTtu6bW0PYY2pU0e6f/Ob32T77bfPN7/5zRXa/vTTT8/06dPLy/jx4wseIQAAAKy4OnWk+6abbsrkyZPTsmXLJMmcOXNy22235bnnnsuVV165xPZVVVWpqqr6jEcJAAAAK6ZORfdTTz2VhQsXlm+fcsop2XHHHXPooYfW3qAAAABgFdWp6O7QoUON202bNk3btm3Ttu3n53x+AAAAvjjqVHR/0tChQ2t7CAAAALDK6tSF1AAAAODzRHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFER0AwAAQEFENwAAABREdAMAAEBBRDcAAAAURHQDAABAQUQ3AAAAFKRORve9996brl27prKyMl/+8pczduzY2h4SAAAArLQ6F91vvPFGDjvssFx44YWZOHFiOnXqlCOOOKK2hwUAAAArrbK2B/BJY8eOzQUXXJADDjggSXL00Udnn332qeVRAQAAwMqrc9Hdp0+fGrdfeeWVdOvWrZZGAwAAAKuuzkX3/5o/f34GDhyYE088can3V1dXp7q6unx7xowZn9XQAAAA4FPV6eg+88wz07Rp0xx55JFLvX/AgAE555xzPuNRrRkXjppS20NgLXPa1m1rewgA1CL/dmBl+bcD1A11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Rz8F3HDDDcvb1q9fP0lSWVlZ0Cvgi2bIkCF54YUX0qVLl9x///1ZsGDBKs3j5e0vMZcp1rx583LZZZfl9NNPX635u7T9JeYva16PHj0yYsSIjBo1KtOnT88f/vCHfP3rX1/l+bus/SXmL6tvWXNozJgxq/x5e8011+T4449fYv3y/htYE5/vfHZEN4WZMWNGunTpUr5dUVGR+vXr59vf/nZatmy5xHLFFVdk7Nix2XzzzXPzzTfnpZdeSoMGDXLUUUclSXr16pX77ruv/H2V6667LjvssENatGhRK6+Pz5dZs2blzDPPzMYbb5wJEyZk0KBB6d279zLn8bRp09KvX79lzuVl7W/evHnmMoW66aabsuOOO6Zz586rPH+Xtb/EZzFrXo8ePbLffvtlm222ScuWLfPss89m4MCBqzx/l7W/xPxl9S1rDq3O523Xrl2X+lzL2+fy7qPu8WM9ClNZWZmqqqoa6xo2bJjLL798qRd6aN26dZo3b56DDz64vO6KK65I165dM2PGjJxyyinl7640bNgw//jHPzJs2LDCXwdfDHfddVdmz56dESNGpHXr1jn99NOz5ZZb5v/7//6/HHbYYTW2bdiwYebMmZOrr746c+fOXWJfrVu3Xub+hg0bZi5TqMGDB+ecc85JsuzP4U+bv8vaXxLzlzXumWeeyfDhw/Pss8+mR48eGTBgQP7v//4vX/va11Zp/i5rf88995z5y2pb1hwaM2bMan/eftLyPsOXd1+rVq1W8dVRFNFNYVq3bp0xY8bUWDdz5sw0btw466677grto2XLllm8eHEmTZqUTTbZJE8//XRef/31DBw4MNOmTctBBx1UxND5ApowYUK+/OUvl/8HWFlZmZ49e2bcuHGZPHlyjW1nzpyZddZZZ7nzeFn7e+utt9K6dWtzmUK8/vrref3117PnnnsmWfbn8KfN32Xt7+N9mr+sSbfeemv69++fHXbYIUly3nnnZfDgwdlvv/1Waf4ua3+jR49Or169zF9Wy7I+AwcOHLhan7fLeq5l7XN591H3OL2cwmy//fZ55plnyrfHjRuX6urq5f5U76STTsptt91Wvv3888+nXr166dixY3ndBhtskLvuuisDBgwof48GVlfHjh2X+Cn022+/nYsvvnil5/Hy9tepU6fybXOZNe22225Lnz590qBBgySr9jm8vP39L/OXNWXhwoX573//W749c+bMzJ49O5WVlas0f5e1v0WLFpXXmb+srk/OodX9vF2a5e2ziOejOKKbwvTu3TvTp08vn7Z14YUXZs8991zu/9x69eqVM844I3/9618zYsSIHHvssTn00EPLF4lIkt///vfZdNNN069fv6JfAl8g3/zmNzN27NgMHjw4EyZMyOWXX54XXnghe+2110rP4+Xtb5999ilvYy6zpj300EPZfffdy7dX5XN4efv7X+Yva8ouu+ySu+66K5dcckluuumm9OvXL+3atctxxx23SvN3Wfvr2bNneRvzl9X1yTm0up+3S7O8fRbxfBSoFq+czhfA3XffXWrUqFFpvfXWK7Vp06Y0ZsyYT33MaaedVmrZsmWpY8eOpeOOO640a9as8n3Tpk0rtW7duvTcc88VOWy+oP7xj3+Udt5551KjRo1KXbp0Kd19992lUmnV5vHy9lcqmcuseXPmzCmts846pbFjx9ZYv6rzd1n7K5XMX9asxYsXl37961+XNtxww1KDBg1KW2+9dWnkyJGlUmnV5u/y9lcqmb+svmXNoVX9vP1YPvErwz5tn6v7fHx2KkqlpVzRCtagiRMnZuTIkdl5551X+TstUNvMY9Zm5i9rM/OXtUkR83V5+/Tfx9pBdAMAAEBBfKcbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsA1kKlUikTJ06s7WGUHXjggXnqqaeSJPPmzcu8efPiWq0AILoBYK1x/vnn55RTTkmS/P3vf892222X6urqJba75ppr8sYbb2TYsGHp06dP5s2bl5NOOilJ8tOf/jTXXnvtUvffuXPntGjRIm3btl3u0qpVq1x22WU1Htu9e/d8//vfz4cffpjjjjsu66233hKPq6ioyMsvv7yG3xUAqNtENwCsBWbPnp1LLrkkO++8c5Jkl112yWabbZZzzjlniW1bt26d733ve2nQoEEaNGiQ22+/PVOnTk2SPPXUU9lggw2W+hyNGzfOvffemylTpix3mTZtWo4//vgaj/3FL36RTTfdNFOnTs0111yTGTNmZOrUqTUe16RJkzRo0GANvzMAULeJbgBYC5xzzjnZZJNNsu+++5bXXXLJJbnkkksyfPjw8rr58+enoqIi++67b/7zn/9kypQpefXVV9OjR4/85z//yauvvppdd901SbJ48eIaR8rr1ft//ywYMWJE3n///RpjGDJkSA4//PDMmTOnvG7cuHHp3LlzkuThhx/ORhtttNzXUb9+/ZV/8QCwFhPdAFDH/eMf/8jvf//7/P73v6+xfquttsrFF1+c/fbbL7fcckuSj6L7vvvuy/PPP58BAwZk0qRJef/99/Pqq69m2LBhadCgQXr27JkOHTqkSZMm+dnPfrbU57z88suz1VZbZcSIEUmSmTNn5txzz03Hjh3TuHHj8nYNGzbM22+/nYYNG2bs2LHp1q3bEsvH3/UGgC8i0Q0Addi4cePy3e9+N2eeeWZ69eq1xP3HHHNMrrjiihxyyCHZb7/9MmfOnFxwwQV59913s99++2WzzTbLq6++mvPPPz+jR4/O8ccfn9dffz1//OMfs+uuu2bIkCFLfd677747Z5xxRvr27Zs//OEPOeaYY9KpU6ecffbZNbarrKxM8tFR8lKplIULF+b1118vL23bts3ChQvX+PsCAGuLytoeAACwdIsWLUrfvn2z55575tFHH82ZZ5651O26d++exx9/PGeddVbef//99OnTJ5dffnmqq6tzxx135JBDDskvf/nLjBgxIq1bt06STJo0Ke3bt1/mc1dUVORnP/tZevXqlW9961v58MMPM3bs2BqnoH/Ssu6rqKhYiVcNAJ8vohsA6qj69etn+PDh6dChQ+bNm5d69epll112yc9//vN85zvfSZJcd911ufPOO9O7d+88+eSTWbRoUZ555pk0b948PXr0yFNPPZWOHTtm9uzZWX/99XPjjTcmSd56661ssskmnzqG+fPnZ/78+WnXrl2OO+643HXXXWnSpMkyt584cWK6detWvj1hwoTVfBcAYO3m9HIAqMM6d+6cysrKNG3aNPXr188rr7yS7bbbLg0bNkzDhg0zefLkdOjQobz9s88+m+222y4dOnTI9OnTs/vuu6dt27a54447csEFF2SDDTbI888/n6eeeqp8JfRlefrpp3PAAQfkT3/6U5599tmMGzcue++9d+bNm7fMx7Rv377G6eVLOyUeAL5IRDcArCXuueeedO7cORtvvHF53bvvvlsjunfeeedMmDAhm266aYYPH57XX389O+64Y37wgx8kSQ4//PCccsopeeWVV7LDDjss9Xmqq6vzm9/8Jn379s3VV1+dfv36ZcMNN8wTTzyRCRMm5Jhjjlnq4xYtWrTU9aVSaVVfMgCs9ZxeDgBrgXfeeSennHJKBg4cWGP9u+++m6233nqJda1atcpPf/rTbLzxxnnuuedy8803J0kOPvjgHH/88TnqqKOyzjrrLPW57r///lx//fV56KGHaoT5BhtskHvvvXe5392urKyscXp58v8utgYAX0QVJT9+BoA67Yknnsj3v//97LfffrnsssuSJK+88krGjRuX/v375957703v3r2XeNzNN9+cU089NXvttVdGjRqVJ554IkceeWSmTp2aUaNG5ZZbbslee+1V3r5Hjx658sors9tuu2Xx4sXLvWjax95555106tQpCxYsWG5cf/jhh1l33XUzceLErLfeeqvwLgDA2smPngGgDrvhhhtyzDHH5Nxzz82JJ55YXv/kk0/msssuyzHHHJOvfOUr5fWzZs3K4MGDc8stt6Rr16559tln0759+1x99dXp2bNnDjzwwNxyyy259957s+++++ZXv/pVfvGLXyRJ5s6dm/79+6dhw4bLHVOpVErnzp3zl7/8JbNmzUqSzJs3L02bNl3q9vfdd1/233//7LPPPoIbgC8cR7oBoI6bPHly1l133RXe/rrrrsvOO+9c4+rkDzzwQNq3b5+tttqqvO7f//53WrZsmQ033HClxrN48eIsXLhwmaenf1J1dXVmz55d/nVlAPBFIroBAACgIK5eDgAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAF+f8B9mt/b0+43P8AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJNCAYAAADgesaeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABfbUlEQVR4nO3dd3wUdeLG8WezmwqBJCT0FoiCwHEIRIqIBSwonFhRPCknKBbUo/zsAoqASDtBRZCTIqigiIKKp8KJDRClGJqABIOAEAjp2bTv7w+OhSUdyWQ2fN6v175kZ74782ST/WbzODPrMMYYAQAAAAAAABbyq+gAAAAAAAAAOP9QSgEAAAAAAMBylFIAAAAAAACwHKUUAAAAAAAALEcpBQAAAAAAAMtRSgEAAAAAAMBylFIAAAAAAACwHKUUAAAAAAAALEcpBQAAKoWkpCTPvzMzMzVu3DhlZGR4lhljdOedd+o///lPgcfm5ubKGOO17LrrrtPgwYP/dK7vvvtOmzdvliTFx8cXOS4hIUG//vproetyc3P1+OOPa8eOHcXuKzMzU3PnzlVCQkKBdampqVq4cKGOHTtWYuYjR45o+/btXsuys7M1YMAAzZs3r8THAwAAlAalFAAA8HkTJ05UixYtPOXPr7/+queff14PPvigZ8zKlSv1zjvvaM2aNQUev2LFCl144YX67rvvPMsyMjLkdrv/dLbx48fr2WefVUZGhjp16qRBgwYpLy+vwLiFCxeqTZs2Sk5OliQdP35cmZmZysrKUm5uriZOnKhff/1VWVlZysrKUkpKirKzs722kZ6eroEDB2rbtm0Ftp+cnKz+/ftr/vz5JWaeM2eOrrzySq9lAQEBeuutt5SQkKD169drwoQJBR73j3/8Qw6Ho0y39u3bl5gHAABUTpRSAADA5w0ZMkQNGzbU1VdfrT/++EMtW7bU+PHjtWjRIu3du1eSNHbsWHXv3l3PPfdcgcevXbtWycnJ+stf/uJZ5ufnJz+/P/9WqUqVKgoICFBISIg++ugjLVmyREOGDCkwbsWKFbr//vtVvXp1SVJsbKxq167tuRljdPvtt6t27dqqVauWoqKi9Omnn3ptIygoSJIUGBhYYPv169fXgAEDCi3ajDF65ZVXPIVYQEBAodsIDg5WrVq1VLVqVf3rX//SsGHDvNa7XC7ddNNNyszM9NyWLl2q9957z2vZyduoUaMK3Q8AADg/uCo6AAAAwJ9VrVo1LVu2TB988IFq1aolSXrooYd0zTXXKDo6WkuWLNGWLVsUFxdXaNH00UcfaeDAgQoNDS12P9nZ2crNzVVISIjX8uPHj+vQoUOFPsbtdis9PV07duxQaGionnvuOdWoUUP79u1To0aNJEm7du3Spk2btHTpUiUmJiosLEy//PKL3G63p2hyuVxasWKFrrjiCs/phv7+/p595OfnKz8/X9KJkunkUVYjRoxQYGCg/Pz8FBQUpISEBD300EPKzc2V2+3Wm2++Kbfbrfnz52vFihX6+OOP5efnJ4fDUeBr8ff3l8vlUosWLfT555/rrrvu0tGjR1WjRg1PxpP7OZlr5MiRqlWrlnr06OF57v38/BQQECCXyyWn01nscw4AACovSikAAODTbrnlFi1dutRz//RT9s7UuHFjz78/+eQT9ejRQz/++KO2b9+u7du3a+LEiV7jv/rqqwLXUGrZsqXi4uK8lr377ru6//77Va1atQL7dLvdysnJUceOHSVJeXl5ysnJ0b333quXX35ZkvT888/rkUceUc2aNfXAAw9o48aNev/999WiRQsFBgbK4XAoLy9PN998swICApSTk6MpU6aof//+nse/8MILnn1eddVVkk6chhcdHa3g4GA5nU7NmDFDzZo109VXX63s7GzPNbeCgoL04Ycfqn379poyZYpcrhNvEXNycpSfn+85munkKXeS1KpVK/3www+eIkySpyQ76bnnntOePXu0Z88eValSxbN8/PjxevzxxyXpnByNBgAAfBOlFAAA8GkhISG6/vrr9frrr5dqfEZGhpo1a+YpWiZNmqTLL79c77zzjte4m2++WQ0aNNC//vUvSSeOPjrzGk4n+fn5qW7dutq/f3+BdVOnTtWCBQv0008/STpx0fKTpY8krVmzRgsWLFCnTp10+eWXa/369Zo+fbr8/f29thcWFqaFCxfqsssu8+Q5duyYIiIi9Nhjj+mRRx7R4sWL9dBDD2nFihWKjY1VaGiogoODPdtYtmyZOnXqpEcffbRAztq1a+vDDz9UVFSUp+RbuHChBg4c6DVu4MCBXstuueUWvffee5LkdXTVRx99pAkTJqhly5b67rvvVK1aNQ0bNkxr1qzR8OHDC30eAQDA+YVSCgAA+LzIyEjVq1dP6enpCggIUEBAQJFjMzIy1KhRIzkcDm3atEmLFy/WG2+8odq1a3uNCwgIUHBwcIHlhTl5tE9ubq7XcpfLpaioKB04cMCzrG/fvoqMjNSrr74qSWrTpo3++c9/6pJLLtHs2bN1+eWXq02bNqpXr56Cg4M9RU/VqlV15513eraTn5+vJk2aaNOmTQoNDVVoaKi++eYbT56cnByvQqo02rVrJ0meTyK88cYbtWPHDoWEhMjtduuCCy7Q3//+d40fP17SiSOpTi/YTjp+/LgGDx6sl156ST/88IOuuuoq9ezZU++//76++eabAkdUAQCA8xOlFAAA8GkLFiyQJMXHxys6OrrYsd26ddMXX3yh+Ph4SdK//vUvNW7cWH369PlTGfz8/PT7778XKFuOHDmiJk2a6MiRI8rMzFRGRoY+/PBDPfnkk54x1apV05QpU/Ttt99q06ZN2rhxoxo2bFjkUVlFSUpK0ooVKyRJ999/v2JiYvTFF1/o+PHjnqOzcnNzlZWVpePHj8vtdisgIEDh4eFe20lOTtZrr70mSQoPD/es3759uyRpx44dql+/frFZwsLCtHnzZtWuXVtr1qzRddddpx9//FGPP/64IiIiyvR1AQCAyouT+AEAQKVQv3597d69WwkJCTpw4IAOHjyoffv26dFHH5XL5VLTpk3197//3esxjzzyiHbt2qWgoCD9+OOP2rZtm3bs2KEdO3YoIyNDycnJnvtbt27V1q1bC913dna26tevr127dmnXrl2aO3eunE6nIiIi1KJFCxljtGHDBr388suKiIjQiBEjvB6/fft23XrrrZo2bZr8/f21fft25ebmyuFwyOl0yuVyed0cDofmzp3rtY2XX35ZDRo0kCT1799fX375pT766CONHj1aUVFRioyM1Lfffqvx48crMjJStWvX1siRI722kZ+fr7vuuksJCQkFvsYtW7aoSpUq2rRpk1JSUor9XuzatUvz5s3TZZddpt69e2v06NH68MMP9fHHH6tu3bq69dZb9cYbbxS7DQAAUPlxpBQAAKgUThZPJ2VmZuqvf/2rDhw4oLFjx2rYsGGFnjbm5+entLQ0dejQwXNBcElKS0vTpk2btHr1akknLlDeqFGjAhc5l6T09HRVr15dMTExkqSff/5ZNWrUkJ+fn8LCwnTRRRdpyZIlmjNnjiZNmuR10e+8vDx16dJFx44d05AhQ+R2u9W3b1/Nnz9fLpdLy5cv13XXXafdu3crKipK1atXV+PGjb1Om9u+fbtefPFFTZ06VUOGDNGVV16p7777Tunp6XrppZc0depUORwOXXHFFerevbuefvpp5eXlKS8vz+vrGDp0qLZs2aIRI0Z4jkA76b///a969+6tVatW6YsvvtDNN99c5PfC4XBo2bJluvPOO7VgwQJ16dJF3bt316uvvqqMjAwtWLDAc00vAABw/qKUAgAAPm3r1q0yxhS4tlF+fr727NmjcePG6cYbb9SePXs867Kzs1WzZk3P9aKqVq1a4HpQV1xxhRo3blzgiKTCHDx40OuT99LS0rxOU7vmmms0bdo0tWvXToMHD/Z6rNPp1NSpUxUZGamLLrpIDRo08HwtJ68nlZ2drQsvvFAfffSRevbsKUlehdLAgQPVsGFD3X777RoyZIgk6bPPPiv2k+2cTqengMvPz9fQoUM1e/ZsffXVV1q3bp3X2OzsbC1dulQvvfSSAgICtGjRomJLqZiYGH3//feenO+++66mTp2qbt26aefOnZ7Ca+zYsUVuAwAAVH6UUgAAwKf17dtXe/bsKfSC2/n5+Xruuec8F+Y+KTs7W88///w5+xS4n376SRdccIHn/u+//64aNWp47p8sl0aOHCmXy6WsrCylp6d7xvTr18+Ta+fOnfr111/Vs2dP5eTkSDpRvLlcLnXt2tWzTbfb7fl3v3791LBhQ68jwYorpM50Mt+LL76oTp06FSil3nnnHaWnp6t379668MILdemll2rLli1q3bp1sdvdu3ev2rdvr+uvv1533323pk2bVuL1qAAAwPmDUgoAAPi0zZs3F7muatWqeuONN3THHXeU2/6zs7O1du1ajR07Vv/973+1dOlSLV26VN27d5ckTZw4UTNmzFDbtm01adIk3XTTTdq6dau6d++u77//XseOHdPw4cN14MAB/f777/Lz89N1112nG264QcuXL1e7du309NNP64orrtBvv/2mrVu3asmSJV7lzpAhQ+Tn56fU1NSz+hocDoemT5/uKbJOfvqedKL8GjVqlP7xj3+oWrVq6tixo6644grdddddWrt2bYFTEU9Xp04dLVy4UIsXL9bdd98tp9Opb775Ri1btvSMyc/PP6vMAADA91FKAQCA81Z2drZ+/vlnBQYGFjjS6vQLnZ8uLy9POTk5atOmjSRp4cKFysjI0M0336ysrCx9++236tatmx599FHdfffdev/99/XBBx+offv2uuiii3T33XerdevWSk5OVmRkpMLCwlSvXj3deeed6tq1q1q2bOk54umSSy7R+PHj9eabb+rzzz/X5s2b9dBDD6l58+aaPXu26tSpI+nUUVEnP7Hv5H/37t0rPz8/z2l6brdbKSkp2r9/v4wxysnJUUREhMLCwryOrMrJyfGczjhixAglJibqiSee8KyfPn262rRpo169eum9997znKqYm5urzMxM7d+/3zO2VatWatWqlR577DF98sknql69umd9SkpKgdMmAQDA+YNSCgAAVCqHDx/WmjVrdPjwYaWnpxd6cfOTDhw4oA4dOigwMLDQcb/88os6duzotcztdiskJERHjx5VWlqannjiCfXp00eNGjWSJP34449atWqVrrvuOoWFhenrr79Wu3btJElvvvmmbrvtNi1evFixsbGKjIyUJL333nte+5g6daqWLVumb7/9Vs2bN9d///tfde7cWZJ01VVXacCAAWrfvr1ef/119e/f3/O4M0upHj166Pfff/eUUtKJi6LPmjXLU0pNnz5d99xzj9f+c3NzlZOTo7Fjx2rGjBmaOXOmpwCTpBYtWmjatGl68MEHNWDAAH300UeSThR2n3zyiedTAAszbNgwr/uxsbFFjgUAAJUbpRQAAKhUqlevrgceeEBpaWm66qqrdPnllxc5tnHjxn/qSJ2qVatq9erVCg0N9VrepUsXDR8+XA899JCCg4M9y2+88UZt2rRJ77//vueC5YVp3769du3apVGjRunKK6/0XPNJOnFK3Keffqpp06bpmmuu8XpcnTp1vE69O/Mor9I6WUo1bNhQ/fv313333VdgzAMPPKCAgAD16dPH63G33HJLgZKtKGPHjtXSpUvPKiMAAPB9DnP6OxcAAIBKIDU1tUBRhPKXmJgoY4yioqIqOgoAAPABlFIAAAAAAACwXOk/KxgAAAAAAAA4RyilAAAAAAAAYDlKKQAAAAAAAFjuvPn0vfz8fB04cEChoaFen2ADAAAAAACAc8cYo9TUVNWtW1d+fkUfD3XelFIHDhxQgwYNKjoGAAAAAADAeSEhIUH169cvcn2FllJHjx5V+/bttXr1ajVu3FiSFBcXp4EDB2r37t0aNGiQJk6c6Dmyqbh1JTn5sdAJCQmqVq1a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+saNG2vZsmWle+LO8MILL+jJJ5+Un5+fXC6X/vnPf8rP70StM3PmTEVERKh169bFbiMmJkY7duzQl19+qbS0NE2bNk1du3b1Kt1OGjdunJ555pmzylparnLdOgAAAAAAOK8899xz+vLLL+Xn56fq1asrNTVVwcHBSk5O1saNG/XGG29o165dmjNnjn766ScNGzZMjRo10uTJk/XQQw9p8ODBuu222yRJ+/fv1yeffKKDBw/q1Vdf1YwZM1SnTh399a9/LbDfUaNGadKkSV6n5s2bN09du3bV3/72N6+xLpd3HRIQEKDWrVure/fuOnDggHr27Km1a9cqJiZG2dnZntJm8eLFeuWVVzRmzBjVqVOnyOfg3//+t77++mulpaV5Ld+yZUuRxVxx9uzZox9//FEffPBBgXVNmjRRfHy8vvnmmwJf15nCwsL05JNPqnv37pKk8PBwrV27tsC4VatWyel0qkuXLmXOWhYcKQUAAAAAgC9JSyv69v773mMPHy567JmfMBcfX/i4MmrWrJlq1qypWrVqqUmTJkpKSlJERIQSExN14YUXqlOnTgoPD1erVq28juwZN26c/vOf/+iKK67QtGnTlJeXpz179ig6OlqjRo2SdOJC5PXq1VNERISkE5/Q53a7JUndu3fX8uXLPUcPSSeOanrrrbc8YzMyMorM/Y9//EMNGzZUx44dtXjxYu3atUv79u3zKqVuu+02bdy4UUOHDlVKSoqWLFmiFi1aKDMz03OrW7euLrjgAv373//W4MGDvfZRrVo1ryO2Suv1119X//79Pacynm716tUaOnSo7rzzTqWmpha7nfj4eE2ePFmfffaZMjIy9Pzzz+u6664rUJ7NnDlTQ4YMKXPOsqKUAgAAAADAl1SpUvTtzNOwiht75hE7RY0roz59+ugvf/mLWrdurRtuuEGrVq1Sy5YtlZubqzZt2qh3796KjIxUhw4dPEfsHDhwQGPGjFFgYKDef/99ZWRkyOl0asOGDXrzzTf15Zdf6ocfftCMGTN01113efY1b948RUVFKTIyUpGRkapTp44iIyMVFxenfv36qWbNmrrwwgs96zt06FBo5qysLOXm5ko6UV6tWrVKQ4cOVWpqqtfpew6HQ02bNpXL5VJoaKi2b9+uNm3aKCgoSEFBQQoICNDhw4dVv379Mj9vRTHG6J133tHtt99e6PpGjRrpX//6l/z9/fXll18Wu60PP/xQXbt21TXXXKPg4GA9+OCDCgsL0xdffOEZk5qaqk8++US3nHkqaDmglAIAAAAAAOVqzZo1io2NLXJ93bp1lZqaqi1btmjkyJGqWrWqtm7dqtTUVHXs2FHTpk1Tnz599MUXX3gu7i1JgwYNUkpKihITE71urVq10vz5872WJScn6+eff/Y8NiEhQfv379e///1vNWjQQIcPH9Znn32m1q1b6/fff9fGjRvVqlUrryOlTpefn6933nnH69TAw4cPKy8vT/Xq1TtHz5z0/fffy+FwqF27dp5lR44c0Q033OAp0qQTF5l3Op3Fbis3N1d//PGH535eXp4n80nLly9X27ZtPZ+KWJ64phQAAAAA4Lw1YWOiZft6/OJIy/ZlB3/88YeefvppPfDAA5o3b55uuOGGIsf+/PPPGjZsmDZu3KiYmBh169ZN9913nyZMmCBJat68uZKTk3XRRRcVegpbWd17772aN2+err/+ej399NO64YYbFBISomeffVb/93//p4EDB3rGut3uQkupMWPGSJLn+lfSiSO+atWqVeQpeikpKQoODi7TKXwrV67UFVdc4bUsKipKBw8e1IMPPqinnnpKy5cvV1JSki6//HJJUkZGRqEXlr/00kv1f//3fxozZoyaNWum999/X6mpqZ7HndzflVdeWep8fwZHSgEAAAAAgHMiMzNTS5Ys0UcffaT3339f/v7++vnnn/XVV1+pX79+yszM9BrvdruVm5urCy+8UAMHDtQvv/yizz77TJs3b1bHjh115ZVXasGCBeratasmTZqkJk2aqEuXLvr222+LzZGXl+d19M+ZHnvsMSUkJOiDDz5Q3759Vb16dfn7++v777/XwIEDlZubq+XLl2vevHnavn276tat63lscnKy7r//fr3++utasmSJ/Pz8lJaWpnXr1mnmzJm66KKLitxv69at9fHHH5fy2Txh9erV6tSpU4HlJ6971aJFC7311ltauXKlqlWrJkl64IEH9MQTTxR4TMeOHfXKK6/orbfeUv/+/bV582YtWbJEkZGnCtOi9lceHMYYY8meKlhKSoqqV6+u5ORkzzcJAAAAAHB+s/ORUllZWdq7d6+io6MLPVLHjrZu3ao+ffpo+PDh+vvf/669e/fqsssu09SpU9W3b181b97c62vJzs7Wyy+/7Lm2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2lXBwcG69tprPes2bNigESNGaObMmercubN69+5dHlkBAAAAAABQSZT6mlI//vijRo4cqfDwcP3xxx969tln1bdvX0VHR+uRRx7R3XffrcTEREVEROjJJ58sz8wAAAAAAADwcaU+UmrGjBmSpLi4OM2fP1/r1q3TqlWr9Nhjj2ns2LGecbNmzVLr1q1155136i9/+cu5TwwAAAAAAACfV+ojpYYPH66BAwfq008/VVJSkubPn69+/fopJiZGvXr10nvvvaf09HRdddVVeuqpp/T777+XZ24AAAAAAAD4sFKXUuPGjVO3bt2UlpYmp9Opvn37qkePHhowYIDWrl2refPmqWnTprr44ot177336rrrrivP3AAAAAAAAPBhpT5979Zbb1VAQICOHDmiQ4cOqXnz5nr//ffVqVMnhYeHa/ny5brtttv0n//8R4cOHVLt2rXLMzcAAAAAAAB8WKmPlLr99tt1++2367LLLtPu3bsVHBysW265RV26dNHRo0f13Xffaffu3Zo4caIeffTRcowMAAAAAAAAX1fqUurSSy/VpEmTFBoaqt69e2vfvn0KDg7W1q1bJUkjR45U/fr1dccdd2jPnj3atWtXuYUGAAAAAACAbyv16XtffvmlHn/8cTkcDu3YsUMzZszQpZdeqnXr1ikkJETffvutDh48KEm644479N133+mCCy4ot+AAAAAAAADwXaUupQYPHixJysnJ0bXXXqvMzEytWLFCkZGRWrx4sSSpTp06kqQhQ4aoSpUq5RAXAAAAAAAAlUGpS6mT/P395e/vr4EDByoxMVGrVq1Sp06dvMZQSAEAAAAAAKA4ZS6lJOndd9/VsmXLtGrVqnOdBwAAAAAAAOeBMpdSK1as0IABA/Tqq69q8ODBatCggerXr6/69eurQYMGuuiii9SlS5fyyAoAAAAAAIBKotSfvpeTk6OnnnpKt99+u6ZOnapBgwZp586duvnmmxUdHa0jR45oxYoVuvHGG/Xss8+WZ2YAAAAAAAD4uFIdKXXgwAG1b99eLVq00Nq1a9W6dWvPun/84x8KCAjw3P/ss880fPhwPffcc+c+LQAAAAAAACqFUpVSdevW1XvvvafOnTt7LXc4HAXGRkdH6+GHHz436QAAAAAAAFAplfqaUmcWUpJkjNGyZcvUrl07NW3aVJJ04YUX6sILLzx3CQEAAAAA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cIF+//33cs3hcrm0fv16tWzZstD1CQkJysjIUL169co1h13mVIl59UzMq96YVwtiXvXGvFoQ86o35lVvzKsFMa96s8u86pMqshFD+fvxxx9No0aNvFprq40ePdpceOGF5rvvviuwbtmyZaZKlSrl/n+ejDFm6NChpnnz5mbNmjUF1i1cuNDUrFnTTJo0qdxznM7tdptnn33W1K5d27zxxhsmPDzcsv/z1KpVK1O1alXTuXNn06BBA9OvXz/PuoMHD5obb7zRkkNuTzp06JC58847jcPhMJ07dzbPP/+8efLJJ01UVJSZP3++JRlO/79xhcnMzDRffvlluef45z//abp162Zee+0107FjR9O6dWtz+eWXmxUrVpg5c+aYmJgYr+9XeRkxYoRp3bq1Wb58udm0aZMZNWqUadCggcnLy/OM+eqrr8o9x5IlS0xgYKDp0aOHeemll8x7771nli9fbv7973+bwYMHm2rVqpknn3yy3HMYY4851Rjm1eIwr57CvHoK86o35tWCmFeLxrx6CvPqKcyr3uw0r/oahzFcur+yy8jIkL+/v/z9/Sssw8KFC7V//3499thjBdZt27ZNs2fP1tSpU8s9x+rVq1WlShVdcsklXsunTJmiCy64QL169Sr3DIXZvn277rvvPn3zzTeKj4+37P+0ZGZm6qefftL69eu1e/duvfLKK5Kkjh07qlWrVpo8ebLn/4BYZe3atZo9e7b279+vBg0aqG/fvrrqqqss2ffAgQP12muvKSgoyJL9FWfBggVav369WrVqpXvuuUdTpkzRO++8o9zcXF166aUaN26cwsPDyzVDbm6uRo8erQULFigxMVEXX3yxpk+frosvvrhc91uYuLg4zZkzR5s3b1ZKSopcLpciIiIUGxurW265Ra1bt7Ysix3mVIl5tSTMq6cwr57AvOqNebUgO82rISEh6tChg9dy5lXmVcle8+r8+fP1ww8/MK/+j53mVV9CKQXYyG+//ab69evLz48PxgSAc4F5FQDOLeZVAOcSM8l5Ljs7W4MHD67oGOT4n4YNG8rPz6/Cc5xEjoLskoUcQOmcnFcBnJKenq5nnnlGPXr00NChQ7Vt2zav9ZmZmWrSpMl5k8NOWXwhR8OGDeV2uys8h2SP58PKHHbKYsccDz/8cIXl2LFjhwYOHKjevXtrwYIFkqTp06erbdu2io2N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",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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dNE999yjHj16aMaMGTr77LPVpUsXJSYmKjIy0l/01KtXT0OHDvU/TklJiVq3bq0ffvhBS5curfA15+TkqGfPnoqIiNDWrVsl+a7S16hRo3LHX3TRRfruu+/KrE9OTg64ff7552vRokXlPsbevXt166236tlnn9W3336rc845R4MGDdK7776rL7/80n/aIQAAwKEopQAAQFCZPXu2JGnLli1q1arVEccOGDBAn332mbZs2SJJmjJlilq2bKmrr776hDKEhIRo69atZcqWXbt2qXXr1tq1a5fy8/OVl5en999/X3//+9/9Y2JiYjRp0iR99dVX+uGHH7Rq1So1b968wqOyylOnTh298847uuOOOwLmuzpw4IAeeOABXXnllSopKfGfdrhp06YKS6mIiAjdcMMNmjlzZoXPN3z4cP35558Vbo+Li9Pq1avVtGlTLV26VBdccIG+++47PfDAA4qPj6/06wIAALULV98DAABBKSkpSRs2bFBGRoa2bdumrKws/f777xo9erRCQ0PVpk0b/eUvfwm4z6hRo7R+/XpFRETou+++07p16/xXl8vLy1NOTo7/9k8//aSffvqp3OcuLCxUUlKS1q9fr/Xr12vmzJlyu92Kj49Xhw4dZIzRypUr9fzzzys+Pl733XdfwP1//vlnDRkyRJMnT1ZYWJh+/vlnFRcXy+Vyye12KzQ0NGBxuVxlSiOXy6X4+HhlZmb6F7fb7Z9c/YwzztCXX34pY4x++OEH/4TwhzvSUWaHOtLRTuvXr9cbb7yhlJQUXXbZZXrsscf0/vvv66OPPlKzZs00ZMgQvfLKK5V6HgAAUHtwpBQAAAhKpcVTqfz8fJ122mnatm2bnnzySY0ZM6bcIiUkJET79+/XmWeeqcjISP+8TPv379cPP/ygJUuWSPJNUN6iRYsyk5xLviOSYmNj1bZtW0nSjz/+qAYNGigkJERxcXE65ZRTNG/ePL366quaMGGC6tat67+v1+tVnz599Oeff2rEiBHyeDwaNmyYZs2apdDQUH344Ye64IILtGHDBjVq1EixsbFq2bJlwLxUkq9M2rhxY8B6r9frL5l69+6t7du3a/bs2frhhx/0xBNPlPs+ejwe5eXllTs/Vqm8vLwypyoeyuVyacGCBRo6dKhmz56tPn36aODAgXrxxReVl5en2bNn++f0AgAAKEUpBQAAgspPP/0kY0yZkqakpEQbN27UuHHjNHjwYG3cuNG/rbCwUI0bN/bPF1WvXr0yJUu/fv3UsmXLI57GViorKyvgynv79+8POE3tvPPO0+TJk9WtWzfdeuutAfd1u9167rnn1LBhQ51yyilKTk72v5bS+aQKCwt18skn64MPPtCgQYMk+Qqnw7Vp00YbNmzw3z50IvLGjRvrrLPO0i233KKwsDD17t273Nfi8Xg0b948zZs374iv+fzzz69wW9u2bfXNN9/4c77zzjt67rnnNGDAAP3666/+Uy6ffPLJIz4HAACoXSilAABAUBk2bFiZI4RKlZSU6IknntD48eMD1hcWFuof//hHlV0F7vvvv9dJJ53kv71161Y1aNDAf7u0XLr//vsVGhqqgoICHThwwD/m+uuv9+f69ddftWnTJg0aNEhFRUWSfMVbaGio+vbt639Mj8dzzDnvuusuffnllxo+fLjq169fZvvmzZv1ySefBGQ/VElJScCk7saYgCvulfd4Z5xxhi666CJdd911mjx5spKSko45NwAAqB2YUwoAAASV1atXa//+/dq7d2+ZpW7dunr11VfLrM/Ly6uyQqqwsFDLli1Tly5d9MUXX+juu+/WtGnT/KfyPfPMM5o2bZq6du2qCRMmqLCwUD/99JPatm2rX375RV9//bV69eqlFi1aKCoqSqeffrpmzJghY4w+/PBDdevWTdOnT1e/fv30xx9/6J133tG8efN0ySWXBOQwxmjTpk2KiIjwL3v27AkYs2bNGknSqlWrAo4cKzVy5EidffbZknwTyI8cOdK/LTU1VVOmTJHkO/qpV69eeumllwLuf/jRWwkJCZozZ47CwsJ03XXX6dRTTy0zL1dJSUml32sAAFCzcaQUAACoNQoLC/Xjjz8qPDy8zJFWh050fiiv16uioiJ16dJFkjRnzhzl5eUpNTVVBQUF+uqrrzRgwACNHj1a1113nd5991299957OuOMM3TKKafouuuuU+fOnZWTk6OGDRsqLi5OiYmJGjp0qPr27auOHTv6577q0aOHxo8fr9dff13//e9/tXr1at11111q3769ZsyYoYSEhIDX0rp1a23YsEElJSX67rvv1L9/f7ndbu3fv19jxozRxx9/rC+++MJfkt1///0aOXKkYmNjtXHjRv3nP//Ra6+9Jsk3R9f06dP1wAMPKDExUZ06ddI//vEP3XDDDYqPj9c555yjBx98UJdddpmaNWsmyXf0VH5+fsB8VJ06dVKnTp30t7/9TR9//LFiY2P923Nzc484NxUAAKhlDAAAQBDbsWOHmTdvnnnhhReMJDN//vwKx27evNm43W4TFRVlYmNjK7VERESY+Ph4Y4wx+/btM02aNDFXX311wON+/vnnpkmTJqZdu3Zm5cqV/vULFiwwYWFhRpLp3r17hbkmTZpk+vbta9xut+nYsaP56quv/Nu2bdtmzjvvPBMeHm5mzpzpXz9r1izTpk0b/+2+ffuaU0891fz444+mS5cu5vrrrzc7d+70b589e7bp1q2b+f77740xxlx11VWmdevWpqioyBhjTEFBgYmLizMPP/ywMcaYvXv3mtjYWPPQQw8ZY4zZv3+/adq0qbnqqqv8j3nrrbcaSce0HOl9AAAAtYvLGGPsKMMAAACqgsfjUXJysvbv369evXrpnXfeCZjwu6r9/PPPio6ODpgrqbCwUFOmTNFdd92lyMjIgPHr1q3Tu+++q0GDBun0008v9zHT09P11ltvaciQIerfv3+ZeZtKSko0efJkDR06NOBoqUN5vV7/lQQLCwv9V+GryOeffy6Px6OLLrrIv27BggXq3bu3GjduLEn6+OOP1aNHD//7mZaWpmbNmqlnz56SpJtuukm5ubmaP3/+EZ+r1JNPPqm0tDR9//33lRoPAABqNkopAAAQ9Pbt26fo6Gi7Y9Q6u3fvljFGjRo1sjsKAAAIQpRSAAAAAAAAsBxX3wMAAAAAAIDlKKUAAAAAAABgOUopAAAAAAAAWC7U7gBVqaSkRNu2bVN0dHSZq9YAAAAAAACg+hljtG/fPjVr1kwhIRUfD1WjSqlt27YpOTnZ7hgAAAAAAAC1XkZGhpKSkircXqNKqdJLQWdkZCgmJsbmNAAAAAAAALVPbm6ukpOT/T1NRWpUKVV6yl5MTAylFAAAAAAAgI2ONrUSE50DAAAAAADAcpRSAAAAAAAAsBylFAAAAAAAACxXo+aUAgAAAACgJvJ6vSoqKrI7BiBJCgsLk9vtPuHHoZQCAAAAAMChjDHavn279u7da3cUIEBcXJyaNm161MnMj4RSCgAAAAAAhyotpBo3bqyoqKgTKgCAqmCMUV5ennbu3ClJSkhIOO7HopQCAAAAAMCBvF6vv5Bq0KCB3XEAv8jISEnSzp071bhx4+M+lY+JzgEAAAAAcKDSOaSioqJsTgKUVfr/8kTmOqOUAgAAAADAwThlD05UFf8vKaUAAAAAAEC1KykpCbj9559/VuvzjR8/Xl9//bVWrVqlL774olqfC8eHUgoAAAAAAFSpkpISTZw4UX/88YckacmSJeratav2798vSdqzZ49atWqltLS0gPv99NNP2rVrl//2GWecoZdeeum4MnzyySf69ddflZ2drSuuuELz5s0L2L57926dddZZ2r17t4wxAaehxcfHa/369f7XUlxcfFwZcGSUUgAAAAAAoEoZY7Ru3Tr16dNHGRkZ6t27t4wxevjhhyVJ06ZNU/v27TVo0KCA+40dO1a33Xab/3ZERIR/Uu1jVTrn0TnnnKO33npLmzdvDjha67PPPlN4eLgaNmyozZs367TTTlOXLl3UpUsX7du3T4MHD1aXLl3UqVMnvfzyy8eVAUfG1fcAAAAAAKjBvF4pPV3KypISEqSUFOk4L5ZWaW63WzNmzNDjjz+u6OhohYeHa86cOWrYsKG2b9+uqVOnKj09XXXq1PHfJzs7W//973+1ePFiFRQUSJL/CKbS26VHLNWrV89/v7S0NA0bNixgnSTt379fS5cu1f3336/i4mJ5PB653W7de++9kqTXXntNjz32mH766Sc1b95cH374oXbs2KGQkBBdfPHFeuqpp9S0aVNFRkaqS5cu1fl21VqUUgAAAAAA1FBpadKoUVJm5sF1SUnSlClSamr1PW9CQoLy8/MVGhqqF154odwxKSkp8ng86t69uxYvXqwXX3xRhYWFGjBggH9Mfn6+vvvuO91zzz2SfFd6GzBggD7++OOAx+rZs2eZeaP+9re/qV69enr44YdVUlKikJCDJ4t9+umn/vtdc801at26tU4//XQtXLhQbrdbeXl5mjVrlqKionTyySdTSlUTTt8DAAAAAKCKeL3SF19Ib73l+9frtS9LWpo0ZEhgISVJW7f61h82nVOVCg0N1aJFi7R9+3bt2rVLu3fvLneZOnWq3G63Nm/erKeffloLFy7U/v37/UuvXr00ffp0/22Px1OmkKroKnBJSUnavn27JGnq1Km69dZb/dveeecdff3110pOTtaaNWt0+eWXa//+/RowYID69eunOnXqqGfPnurfv78SExP12muvVd+bVYtRSgEAAAAAUAXS0qSWLaX+/aVhw3z/tmxZveVPRbxe3xFSxpTdVrpu9OjqK80efvhhtWzZUueff76io6PVoEEDNWzYUA0bNlR0dLRCQ0N1880366yzztLo0aO1e/dujRs3TgMGDJDH4yn3MUtKSpSfn1/utqVLlyoiIsK/fPnll0pMTNSmTZskSXPmzFHjxo3946dNm6Y///xT7dq10xtvvKHGjRsrISFBSUlJSkpK0jvvvKPTTjtNSUlJSkxMVJMmTar+TQKn7wEAAAAAcKJKj0o6vAQqPSpp/vzqPV3ucOnpZY+QOpQxUkaGb1y/flX//KWTlX/++ef+dfv27dOkSZP0/PPPKzU1VXfffbdOOukknXTSSZKk7t276+2339awYcP8c00VFhZq+fLlGjFihLxerxo0aOA/+qmUx+PRwIED/afktWrVSvHx8WrQoIFWrlypL774Qps2bdLf/va3Q16/0c0336wOHTrIGCOPx6ONGzfqiSeeUGJion/c3r171bVrV33wwQdV/yaBI6UAAAAAADgRdh+VVJ6srKodd6w8Ho/MYW/If/7zH7366qtasWKF3njjDZ122mkyxqiwsNA/5qqrrpLX61VBQYEKCgrUu3dvzZgxQwUFBSoqKlJmOU1bdna26tat67+9f/9+NWjQQO3bt1dJSYluvfVWPfLII4qJifGPSUtL0zvvvKNvvvlGkydP1tatWxUREaHBgwdr7dq1uuOOO7Ro0SI9+eSTx331PxwdpRQAAAAAACfgWI5KskpCQtWOOxYFBQWKiIiQ2+1WaGiofxk6dKgyMjLUrl27gPUnn3yy/74hISEVzhEl+eaqOtyvv/7qP7rJ6/UqJydH8fHxcrlc6tatm8LDw3XnnXcG3Ofqq6/WgQMHtHr1as2fP1/nn3++SkpKJPkKtdGjR/tLrNIr/qHqcfoeAAAAAAAnwO6jksqTkuK7yt7WreUfweVy+banpFT9c0dERKiwsFBhYWEB6xctWqSHHnpIK1euDFjvPcFDyJYuXarbb79dH3/8sRYvXqyGDRsqLCxML7zwgtasWSOPx6OtW7cqLy9Pd999txYtWqSPPvpIK1euVEZGhtatW6e+ffvqoosuUr169fTBBx+oV69e2rNnj9q2batBgwadUD5UjCOlAAAAAAA4AXYelVQRt1uaMsX38eEHHpXenjzZN646HF5ISRUfceR2u2WMUV5env9opSMpLi72T4b+/fffa82aNbr00ku1e/duZWRkaMqUKbrrrrs0ceJEffXVVxoxYoQuvfRSvf3229qwYYNCQkK0adMmZWVlacCAAXr99df11FNP6ZxzzlHjxo01atQo3X333XrppZf0l7/8RXFxcSf0XqBiLnP4SZ5BLDc3V7GxscrJyQk4VxQAAAAAgOri9fqusne0o5I2bz62EqigoECbN29Wq1atFBERcVzZ0tJ8810denphcrKvkLJq4vWdO3fq2muv1YYNG9SxY0ctXLiwzJg9e/aoefPmCg8PV0jIkY+fKSws1JVXXqlXX31V//d//6e9e/fqX//6l3/bGWecodatW+uVV15Rw4YNVVBQoGHDhum9997TmDFjNHHixIDHM8bonnvuUVpamurVq6enn35al156qSTf0V3XXXedbrvtNj311FNV9I7UDEf6/1nZfoZSCgAAAACAE1R69T0psJgqPSrpeK6+VxWllOQrzdLTfacPJiT4TtmrriOkKvLmm28qJiZGZ599tqKjo6v0sYuKigKOzNq2bZuaNWtWZtwff/yhhISEco/iWrZsmdxut7p3715mW0ZGhsLCwtS0adMqzR3sKKUOQykFAAAAALBLVR+VVFWlFFAdqqKUYqJzAAAAAACqQGqqNHiw/UclAcGCUgoAAAAAgCridkv9+tmdAggOtl197/XXX1enTp0UFxenoUOHavfu3ZKkkSNHyuVy+Ze2bdvaFREAAAAAAADVxJZS6rPPPtPdd9+t5557TqtXr1Zubq4uv/xySdJ3332njz76SNnZ2crOztaqVavsiAgAAAAAAIBqZMvpe7NmzdItt9yic889V5L07LPPqmPHjtqxY4fWrl2rvn37ql69enZEAwAAAAAAgAVsOVJq9+7dat68uf+2+//P+vbLL7/IGKMuXbooMjJSF1xwgf74448KH8fj8Sg3NzdgAQAAAAAAgPPZUkp16dJFH3zwgYwxknzzS/Xo0UOZmZnq2LGj3nrrLa1bt05hYWG6/fbbK3yc8ePHKzY21r8kJydb9RIAAAAAAMAx2L17t0pKSqr8cYuLi1VYWHjUMR6Pp1KPt3PnzuPKsWfPHuXn5x/XfWsrW0qp++67T4WFherWrZt69+6tf/7zn7rrrrt07bXXatmyZerevbtatWqladOm6dNPP63wCKgHH3xQOTk5/iUjI8PiVwIAAAAAACrjkksu0UcffXTEMd99952effZZSVJRUZG8Xu9RH/fDDz9Uo0aN1LBhQ/8SGhqqmJgY/+1GjRppzJgxZe57zTXX6IknnvDfLikpUYcOHfSf//znqM+7b98+derUSevXr5ckXX311frXv/511PtVpYKCAi1fvlwbN2609Hmrii2lVHx8vL766ivNnTtXnTt3Vvv27TVs2LAy4+Li4lRSUqKsrKxyHyc8PFwxMTEBCwAAAAAAsMfevXvVvXt3nXXWWTrrrLN0zjnn+Le5XC7NmTNH7dq1U9u2bdWxY0e1bNky4Mik8ePH+8+qGj16tBISElS3bl21bNlSLVu2VJ06dTR//vyA57z88su1Y8cO7d6927906tRJs2bN8t/+9ttv9cILL5TJGxERocjISP/t5cuXKz4+XhdccMFRX+u0adMUGhqqtm3bSpIeeeQR/eMf/6iwwzhWW7ZskcvlKrMMHz5ckvTTTz+pTZs2GjFihLp06aK77767Uo/7ySefqF27doqKitKZZ57pv8DcF198Ue7zPfbYY1XyespjSylVqlmzZkpLS9P48ePldrs1ZswYzZ0717/922+/VUhICKflAQAAAAAQBKKjo/X666+ra9eu6tGjh1588UX/tpCQEN1777369ddf1bZtW73wwgvasmWLGjduLEn66KOPtGvXLt1333167rnnNHz4cM2dO1cXXnihtmzZop9//ll169YttzAaOnSoXnnllXIz7d27V127dtXHH3/sX3foaYQul8t/e86cOcrNzdVJJ52ktm3bqm3btoqOjtZTTz0V8Jjbtm3TM888o2eeeUYul0uS1LdvX51zzjkaOnRolZzG17x5c2VnZwcsffv21YABAyRJd9xxhx599FGtWrVKa9as0YsvvqjNmzcf8TH37dun4cOH6+WXX9aGDRt07rnn6vLLL5ck9enTJ+C59uzZozZt2vifrzrYWkpNnTpV7du312WXXSbJN9fU2LFjtXTpUi1evFgjR47U8OHDFRUVZWdMAAAAAACc48CBipeCgsqPPbw4qWjcMXC73erUqZMaNGigBg0aqH379powYYKWLFmikJAQhYeHl3u/FStW6IYbbtAVV1yhyZMn68knn1TTpk1VVFSkOnXqSJIWL16sXr16qV69emXuf+mll+ree+8td1qfqVOnqkmTJjr33HP965555hmFhIRo1qxZ+tvf/ia3261vv/1Wb775plauXKkNGzb4l4svvlgRERH++xpjdMstt2jAgAE677zzAp5r+vTp2rFjhy666CL9+eefx/TeHS4kJERxcXH+Zd26ddq1a5euvfZaFRcX6/LLL9ctt9wiSWrVqpViYmKUnZ19xMf89ddflZycrH79+qlZs2YaMWKEfv/9dxUUFCg0NDTg+RYtWqQ2bdooJSXlhF7HEV9jtT3yUezdu1fPPPOMJk6c6F93/fXXa8iQIRo8eLCGDx+u8847T88//7xdEQEAAAAAcJ569SperrgicGzjxhWPvfDCwLEtW5Y/7gStXbtWe/bskcvlCjhV7lBNmjTRDTfcoNDQUD388MOaPn26kpOTVVhYqIL/X7R99NFH+uabb9S2bVstWbIk4P433nijOnfuXGbeqIyMDP3zn//UxIkTFRYW5l9/3333qaioSNdff73++c9/yuPxaM6cObr00ks1ffp0ffDBB/6xhYWFAbn//ve/a82aNZo2bVqZ1xEfH6+lS5dq//79at++vd56662A7S1bttSCBQsq98Yd5qmnntLf//53hYSEKDQ0VPfcc49CQny1zvTp0xUfH6/OnTsf8THatm2rX375RZ9//rn279+vyZMnq2/fvgGlW6lx48bp4YcfPq6slRVarY9+BHFxcdqzZ0+Z9ePHj9f48eNtSAQAAAAAAE7UE088oc8//1whISGKjY3Vvn37FBkZqZycHK1atUqvvPKK1q9fr1dffVXff/+9xowZoxYtWmjixIm66667dOutt+rKK6+UJGVmZurjjz9WVlaWXnzxRU2bNk0JCQk67bTTyjzvo48+qgkTJgScmvfGG2+ob9++uvTSSwPGhoYG1iF16tRR586dNXDgQG3btk2DBg3SsmXL1LZtWxUWFvpLm7lz5+qFF17Q448/roSEhArfg9dee03p6enav39/wPo1a9ZUWMwdycaNG/Xdd9/pvffeK7OtdevW2rJli7788ssyr+twcXFx+vvf/66BAwdKkurXr69ly5aVGbd48WK53W716dPnmLMeC1tP3wMAAAAAAMdo//6Kl3ffDRy7c2fFYw+/wtyWLeWPO0bt2rVT48aN1aRJE7Vu3VrZ2dmKj4/X7t27dfLJJ6tXr16qX7++OnXqFHBkz7hx4/Tpp5+qX79+mjx5srxerzZu3KhWrVrp0UcfleSbiDwxMVHx8fGSfFfo83g8kqSBAwfqww8/9B89JPmOavr3v//tH5uXl1dh7ptuuknNmzdXz549NXfuXK1fv16///57QCl15ZVXatWqVRo5cqRyc3M1b948dejQQfn5+f6lWbNmOumkk/Taa6/p1ltvDXiOmJiYgCO2Kuvll1/WDTfc4D+V8VBLlizRyJEjNXToUO3bt++Ij7NlyxZNnDhRn3zyifLy8vSPf/xDF1xwQZnybPr06RoxYsQx5zxWlFIAAAAAAASTunUrXg4/DetIYw8/Yqeiccfo6quv1qmnnqrOnTvr4osv1uLFi9WxY0cVFxerS5cuuuyyy9SwYUOdeeaZ/iN2tm3bpscff1zh4eF69913lZeXJ7fbrZUrV+r111/X559/rm+//VbTpk3Ttdde63+uN954Q40aNVLDhg3VsGFDJSQkqGHDhlq7dq2uv/56NW7cWCeffLJ/+5lnnllu5oKCAhUXF0vylVel81zv27cv4PQ9l8ulNm3aKDQ0VNHR0fr555/VpUsXRUREKCIiQnXq1NHOnTuVlJR0zO9bRYwxevvtt3XVVVeVu71FixaaMmWKwsLC9Pnnnx/xsd5//3317dtX5513niIjI3XnnXcqLi5On332mX/Mvn379PHHH+uKw08FrQaUUgAAAAAAoFotXbpU3bt3r3B7s2bNtG/fPq1Zs0b333+/6tWrp59++kn79u1Tz549NXnyZF199dX67LPP/JN7S9Itt9yi3Nxc7d69O2Dp1KmTZs2aFbAuJydHP/74o/++GRkZyszM1Guvvabk5GTt3LlTn3zyiTp37qytW7dq1apV6tSpU8CRUocqKSnR22+/HXBq4M6dO+X1epWYmFhF75z0zTffyOVyqVu3bv51u3bt0sUXX+wv0iTfJPNut/uIj1VcXKwdO3b4b3u9Xn/mUh9++KG6du3qvypidaKUAgAAAAAAVW7Hjh166KGHtG3bNr3xxhu6+OKLKxz7448/6uKLL1ajRo102223aceOHbr99tv19NNPS5Lat2+vnJwcnXTSSeWewnasbrvtNrVt21bR0dF66KGHtGHDBjVq1EiPPPKI/u///k+vv/66oqOjJUkej6fcUurxxx+XJP/8V5LviK8mTZpUeIpebm6uioqKjinrokWL1K9fv4B1jRo1UlZWlu6880798ccfeuGFF5Sd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ZGSkzj//fP+2lStX6r777tP06dPVu3dvXXbZZdWRFQAAAAAskZoqzZ/vuwrfoTOTJCX5CqnUVNuiAUCNUenT9+666y6lp6frt99+U506dTRq1Cht2LBB33zzjZo1a6abbrpJw4YN0/Dhw9WmTRuNGzeuurOXwel7AAAAAKqS1+u7yl5Wlm8OqZQUjpACgKOpbD9zzHNKrV27VrNmzdLq1au1ePFi/e1vf9OTTz7p356Tk6POnTtr4cKFOvXUU4//FRwHSqmajx8KAFiBfQ0AAABw/Kp8Tql7771XN954o/7zn/8oOztbs2bN0vXXX6+2bdvqkksu0fz583XgwAGdc845Gjt2rLZu3VolLwQolZbmm3Cyf39p2DDfvy1b+tYDQFVhXwMAAABYo9JHSnk8Hs2bN0/r16/Xjh07tH79et1xxx0aMmSIGjVqpJ49e+rbb7/VoEGD9Morr1R37nJxpFTNlZYmDRlS9uonpRNNzp/Pef0AThz7GgAAAODEVfnpe5dcconq1KmjXbt2afv27Wrfvr3q1q2rCRMmqH///vrtt9905ZVXavny5VqxYoWaNm1aZS+msiilaqbSS/IeOsHkobgkL4CqwL4GAAAAqBpVfvreVVddpauuukopKSnasGGDIiMjdcUVV6hPnz7as2ePvv76a23YsEHPPPOMRo8eXRWvAZDkm9elol8SJd8RDRkZvnEAcLzY1wAAAADWqnQpddZZZ2nChAmKjo7WZZddpt9//12RkZH66aefJEn333+/kpKSdM0112jjxo1av359tYVG7ZKVVbXjAKA87GsAAAAAa4VWduDnn3+uBx54QC6XS7/88oumTZums846S8uXL1dUVJS++uorZf3/n9SvueYaff311zrppJOqLThqj4SEqh0HAOVhXwMAAABYq9JzSpUqKipSYWGh8vPztWPHDp1yyilavny5evXq5R9z4MAB1a1bt8rDHg1zStVMpfO8bN1advJhiXleAFQN9jUAAABA1ajyOaVKhYWFqW7duvrrX/+qkSNHKiQkJKCQkmRLIYWay+2WpkzxfVx6BaxSpbcnT+aXRAAnhn0NAAAAYK1jLqUk6Z133tGCBQv0xBNPVHUeoFypqb5LsScmBq5PSuIS7QCqDvsaAAAAwDrHfPrewoULdeWVV2rq1KmaOHGikpOTlZSUpKSkJCUnJ+uUU05Rnz59qivvEXH6Xs3n9fqufJWV5ZvXJSWFoxYAVD32NQAAAMDxq2w/U+lSqqioSI899piee+45TZo0SSNGjFBISIhefPFF7dq1S9u2bdO2bdv05Zdf6s4777TlKCpKKQAAAAAAAHtVtp+p1NX3tm3bpjPOOEMdOnTQsmXL1LlzZ/+2m266SXXq1PHf/uSTT3Tvvfdyah8AOBxHAwEAAACwU6VKqWbNmmn+/Pnq3bt3wHrX4TPBSmrVqpXuvvvuqkkHAKgWaWnSqFFSZubBdUlJvom+mTcJAAAAgBWOeU6pQ4WEhOjtt99Wt27d1KZNm6rMdVw4fQ8Aji4tTRoyRDp871/6dwYm9AYAAABwIirbz1T66nv/93//p/fff7/M+qefflqdO3dWp06dNH/+/ONLCwCwhNfrO0KqvD9HlK4bPdo3DgAAAACqU6VLqdjYWN1yyy1KSUnR6tWrVXqA1ddff63s7Gw9/PDDGjNmjMaMGVNtYQEAJyY9PfCUvcMZI2Vk+MYBAAAAQHWqdCk1duxY/f777+rVq5d69+6tp59+WmeffbZKSkpUp04dXX311fryyy81d+5cPf/889WZGQBwnLKyqnYcAAAAAByvSpdSkhQVFaVnnnlGn332maZNm6YWLVooIiLCv7158+aaPXu2Hn74Ye3Zs6fKwwIATkxCQtWOAwAAAIDjdUylVKlevXrpq6++0vfff6/Mw84D6d+/v1544QU1aNCgSgICAKpOSorvKnvlXDxVkm99crJvHAAAAABUpxO6+l5JSYlCQo6r16oWXH0PAI6u9Op7UuCE51x9DwAAAEBVqPKr75V7ZwcVUgCAyklN9RVPiYmB65OSKKQAAAAAWCfU7gAAAOulpkqDB/uuspeV5ZtDKiVFcrvtTgYAAACgtqCUAgALeb3OKYLcbqlfP3ueGwAAALWPk34Wdpra+t7Ycv7dzJkz5XK5yiwzZ87UyJEjA9a1bdvWjogAUOXS0qSWLaX+/aVhw3z/tmzpWw8AAADUZPwsXLHa/N6c0ETnx6uwsFB5eXn+2/v379fpp5+u5cuX6y9/+Yseeugh9e7dW5LkdrsVHR1dqcdlonMATlU6ufjhe1wmFwcAAEBNx8/CFaup701l+xlbSqnDjRs3Tr///rteeOEFxcfHa9u2bapXr94xPw6lFAAn8np9f+nIzCx/u8vlm2R88+bacYguAAAAag9+Fq5YTX5vLLn6XlUoKCjQlClT9OCDD2rNmjUyxqhLly6KjIzUBRdcoD/++KPC+3o8HuXm5gYsAOA06ekVf6ORfH8VycjwjQMAAABqEn4WrhjvjQNKqTfffFM9e/ZUy5Yt9fPPP6tjx4566623tG7dOoWFhen222+v8L7jx49XbGysf0lOTrYwOQBUTlZW1Y4DAAAAggU/C1eM98YBpdT06dM1YsQISdK1116rZcuWqXv37mrVqpWmTZumTz/9tMIjoB588EHl5OT4l4yMDCujA0ClJCRU7TgAAAAgWPCzcMV4b2yeU2rDhg3q0aOHduzYobCwsDLbc3JyFBcXp19++UXt2rU76uMxpxQAJyo9V3zr1rITGErBfa44AAAAcCT8LFyxmvzeBMWcUnPnztWgQYP8hdSYMWM0d+5c//Zvv/1WISEhnJYHIKi53dKUKb6PS6+iUar09uTJwfeNBgAAADgafhauGO+NzaXUokWL1L9/f//tLl26aOzYsVq6dKkWL16skSNHavjw4YqKirIxJQCcuNRU3+VcExMD1yclBe9lXgEAAIDK4GfhitX298a20/fy8/MVFxen1atXq3379v71Dz74oKZPn67o6GhdfvnlGjdunOrWrVupx+T0PQBO5/X6rp6RleU7NzwlpWb/5QMAAAAoxc/CFatp701l+xlb55SqapRSAAAAAAAA9gqKOaUAAAAAAABQO1FKAQAAAAAAwHKUUgAAAAAAALAcpRQAAAAAAAAsF2p3gGpx4ED509S73VJEROC4ioSESJGRxzc2L0+qaP54l0uKijq+sfn5UklJxTkOvUrhsYwtKPBN9V8VY6OifLklyeORiourZmxkpO99lqTCQqmoqGrGRkQc/L9yLGOLinzjKxIeLoWGHvvY4mLfe1GROnWksLBjH+v1+j53FQkL840/1rElJb7/a1UxNjTU915Ivq+JvLyqGXssX/fsI8ofyz7i2Meyj/B9zD7i+Mayj/B9zD7i2Meyj/B9zD7i+Mayj/B9zD7i2Meyjzh4m33EwbFHynwoU4Pk5OQYSSbH97aWXS66KPAOUVHlj5OMOfvswLENG1Y89owzAse2aFHx2A4dAsd26FDx2BYtAseecUbFYxs2DBx79tkVj42KChx70UUVjz38v8iQIUceu3//wbE33HDksTt3Hhz7178eeezm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DxljLH1OAPZjP1wW+2EAVmEfXBb7YODoKKVQrgMHDujhhx/WhRdeqJEjR2rdunUB2/Pz89W6dWtLsvzyyy+68cYbddlll2n27NmSpKlTp6pr167q3r27nn32WUtySL4dfEXLiBEjtHr1av3xxx+W5bntttvk8XgkSUVFRXr22Wd15plnKjExUWeddZbefPNNy7Ic7p577lG7du103XXXqVOnTurUqZN+/fVXS567ZcuW6tChg+bOnWvJ8x1NYWGhnnjiCf3lL3/RrFmzJEn33Xef6tevr9jYWF133XXas2ePJVm8Xq8effRRdenSRd26ddODDz6o33//3ZLnLs/69ev1yCOPaNCgQTr99NPVrl07nXrqqbrgggs0efJk///v2oZ9cMWctB928j5YYj9cykn7YIn9cLBgP1w+J+2DJWfvh9kHH+Sk/bDT9sES+2EZoBxXX321ad++vXn00UfNNddcY8LDw83IkSNNfn6+McaY/fv3G5fLVe05CgoKTLNmzczNN99snn/+eXPaaaeZCy+80LRq1crMnj3bvPnmm6ZLly5m7Nix1Z7FGGOaNm1qQkJCTKNGjUyrVq1My5Yt/UtISIhJSkoyrVq1siSLMcaEhISYnJwcY4wxd9xxh2nbtq154403zPvvv2/Gjh1rYmJizMsvv2xJlkmTJpni4mJjjDHLli0zJ510ksnIyDDGGLNv3z5z3XXXmV69elmSxeVymUWLFpnzzjvPtGvXzkyePNns3bvXkucuz6233mq6d+9unnzySdOxY0czePBgc9FFF5k1a9aYRYsWmTZt2pjLL7/ckiyPPPKIadOmjXnxxRfNyy+/bPr06WPq1KljRowYYbZv325JhlJvvfWWOemkk8zzzz9vvvnmG/PTTz+ZjRs3mh9++MHMnDnTdOvWzZxxxhmmsLDQ0lxOwD64Yk7aDztpH2wM++GKOGkfbAz74WDBfrh8TtoHG+Os/TD74Io5aT/spH2wMeyHjTGGUsoh2rVrZ1q1anXUxSoRERFm48aN/tu//PKL6d27t+nUqZP57bffzP79+01ISEi151i2bJnp2LGj//aOHTtMRESE+eSTTwKyNW7cuNqzGGNMdna2ueWWW0yTJk3M3LlzA7bFxcWZ33//3ZIcpVwul/8bcVxcnPnuu+8Ctv/73/82HTp0sCRL6f+PL774wsyaNcs88cQT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",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "    ID    姓名  成绩 等级 等级详细    分数区间\n",
      "0    1   学生1  80  B   B-   80-89\n",
      "1    2   学生2  69  D    D   60-69\n",
      "2    3   学生3  77  C   C+   70-79\n",
      "3    4   学生4  58  F    F    0-59\n",
      "4    5   学生5  93  A   A-  90-100\n",
      "5    6   学生6  90  A   A-  90-100\n",
      "6    7   学生7  62  D    D   60-69\n",
      "7    8   学生8  75  C   C+   70-79\n",
      "8    9   学生9  76  C   C+   70-79\n",
      "9   10  学生10  72  C   C-   70-79\n",
      "10  11  学生11  77  C   C+   70-79\n",
      "11  12  学生12  70  C   C-   70-79\n",
      "12  13  学生13  81  B   B-   80-89\n",
      "13  14  学生14  60  D    D   60-69\n",
      "14  15  学生15  60  D    D   60-69\n",
      "15  16  学生16  59  F    F    0-59\n",
      "16  17  学生17  93  A   A-  90-100\n",
      "17  18  学生18  66  D    D   60-69\n",
      "18  19  学生19  68  D    D   60-69\n",
      "19  20  学生20  65  D    D   60-69\n",
      "20  21  学生21  79  C   C+   70-79\n",
      "21  22  学生22  78  C   C+   70-79\n",
      "22  23  学生23  79  C   C+   70-79\n",
      "23  24  学生24  73  C   C-   70-79\n",
      "24  25  学生25  68  D    D   60-69\n",
      "25  26  学生26  96  A    A  90-100\n",
      "26  27  学生27  73  C   C-   70-79\n",
      "27  28  学生28  75  C   C+   70-79\n",
      "28  29  学生29  69  D    D   60-69\n",
      "29  30  学生30  75  C   C+   70-79\n",
      "班级平均分: 73.87\n",
      "请输入有效的学生编号（数字）。\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import os\n",
    "import zipfile\n",
    "\n",
    "# 设置 Matplotlib 的字体为支持中文的字体\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体\n",
    "plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题\n",
    "\n",
    "# 获取用户输入的文件路径\n",
    "file_path = input(\"请输入要分析的Excel文件路径: \")\n",
    "\n",
    "# 读取Excel文件\n",
    "try:\n",
    "    df = pd.read_excel(file_path, sheet_name='Sheet1')\n",
    "except Exception as e:\n",
    "    print(f\"读取文件失败: {e}\")\n",
    "    exit()\n",
    "\n",
    "# 定义分数区间和对应的等级\n",
    "def get_grade(score):\n",
    "    if score < 60:\n",
    "        return 'F'\n",
    "    elif 60 <= score < 70:\n",
    "        return 'D'\n",
    "    elif 70 <= score < 80:\n",
    "        return 'C'\n",
    "    elif 80 <= score < 90:\n",
    "        return 'B'\n",
    "    elif 90 <= score <= 100:\n",
    "        return 'A'\n",
    "\n",
    "def get_grade_detail(score):\n",
    "    if score < 60:\n",
    "        return 'F'\n",
    "    elif 60 <= score < 70:\n",
    "        return 'D'\n",
    "    elif 70 <= score < 80:\n",
    "        if score < 75:\n",
    "            return 'C-'\n",
    "        else:\n",
    "            return 'C+'\n",
    "    elif 80 <= score < 90:\n",
    "        if score < 85:\n",
    "            return 'B-'\n",
    "        else:\n",
    "            return 'B+'\n",
    "    elif 90 <= score <= 100:\n",
    "        if score < 95:\n",
    "            return 'A-'\n",
    "        else:\n",
    "            return 'A'\n",
    "\n",
    "# 计算每个学生的等级\n",
    "df['等级'] = df['成绩'].apply(get_grade)\n",
    "df['等级详细'] = df['成绩'].apply(get_grade_detail)\n",
    "\n",
    "# 计算班级平均分\n",
    "average_score = df['成绩'].mean()\n",
    "\n",
    "# 绘制班级成绩分布柱状图\n",
    "def plot_score_distribution(df):\n",
    "    bins = [0, 60, 70, 80, 90, 100]\n",
    "    labels = ['0-59', '60-69', '70-79', '80-89', '90-100']\n",
    "    df['分数区间'] = pd.cut(df['成绩'], bins=bins, labels=labels, right=False)\n",
    "    score_distribution = df['分数区间'].value_counts().sort_index()\n",
    "\n",
    "    plt.figure(figsize=(10, 6))\n",
    "    plt.bar(score_distribution.index, score_distribution.values, color='skyblue')\n",
    "    plt.xlabel('分数区间')\n",
    "    plt.ylabel('人数')\n",
    "    plt.title('班级成绩分布柱状图')\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "# 绘制班级成绩分布柱状图\n",
    "plot_score_distribution(df)\n",
    "\n",
    "# 绘制柱状图\n",
    "plt.figure(figsize=(12, 6))\n",
    "plt.bar(df['姓名'], df['成绩'], color='skyblue')\n",
    "plt.axhline(y=average_score, color='r', linestyle='--', label=f'班级平均分: {average_score:.2f}')\n",
    "plt.xlabel('学生')\n",
    "plt.ylabel('分数')\n",
    "plt.title('学生成绩柱状图')\n",
    "plt.xticks(rotation=90)\n",
    "plt.legend()\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "# 绘制散点图\n",
    "plt.figure(figsize=(12, 6))\n",
    "plt.scatter(df['姓名'], df['成绩'], color='blue', label='学生成绩')\n",
    "plt.axhline(y=average_score, color='r', linestyle='--', label=f'班级平均分: {average_score:.2f}')\n",
    "plt.xlabel('学生')\n",
    "plt.ylabel('分数')\n",
    "plt.title('学生成绩散点图')\n",
    "plt.xticks(rotation=90)\n",
    "plt.legend()\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "# 输出结果\n",
    "print(df)\n",
    "print(f\"班级平均分: {average_score:.2f}\")\n",
    "\n",
    "# 保存结果到Excel文件（可选）\n",
    "save_option = input(\"是否将结果保存到Excel文件？(y/n): \")\n",
    "if save_option.lower() == 'y':\n",
    "    output_path = input(\"请输入保存路径（包括文件名，例如 output.xlsx）: \")\n",
    "    try:\n",
    "        df.to_excel(output_path, index=False)\n",
    "        print(f\"结果已保存到 {output_path}\")\n",
    "    except Exception as e:\n",
    "        print(f\"保存文件失败: {e}\")\n",
    "\n",
    "# 导出单个学生成绩和散点图\n",
    "student_id = input(\"请输入要导出的学生编号（输入0跳过）: \")\n",
    "if student_id != '0':\n",
    "    try:\n",
    "        student_id = int(student_id)\n",
    "        student_data = df[df['ID'] == student_id]\n",
    "        if not student_data.empty:\n",
    "            # 保存学生成绩到Excel文件\n",
    "            output_student_path = input(f\"请输入保存路径（包括文件名，例如 学生{student_id}_成绩.xlsx）: \")\n",
    "            student_data.to_excel(output_student_path, index=False)\n",
    "            print(f\"学生 {student_id} 的成绩已保存到 {output_student_path}\")\n",
    "\n",
    "            # 绘制并保存散点图\n",
    "            plt.figure(figsize=(8, 6))\n",
    "            plt.scatter(df['姓名'], df['成绩'], color='blue', label='学生成绩')\n",
    "            plt.scatter(student_data['姓名'], student_data['成绩'], color='red', label=f'学生{student_id}成绩')\n",
    "            plt.axhline(y=average_score, color='r', linestyle='--', label=f'班级平均分: {average_score:.2f}')\n",
    "            plt.xlabel('学生')\n",
    "            plt.ylabel('分数')\n",
    "            plt.title(f'学生成绩散点图（突出显示学生{student_id}）')\n",
    "            plt.xticks(rotation=90)\n",
    "            plt.legend()\n",
    "            plt.tight_layout()\n",
    "\n",
    "            # 保存散点图\n",
    "            scatter_plot_path = os.path.splitext(output_student_path)[0] + \"_散点图.png\"\n",
    "            plt.savefig(scatter_plot_path)\n",
    "            print(f\"散点图已保存到 {scatter_plot_path}\")\n",
    "\n",
    "            # 将Excel文件和散点图打包为ZIP文件\n",
    "            zip_path = os.path.splitext(output_student_path)[0] + \"_打包.zip\"\n",
    "            with zipfile.ZipFile(zip_path, 'w') as zipf:\n",
    "                zipf.write(output_student_path, os.path.basename(output_student_path))\n",
    "                zipf.write(scatter_plot_path, os.path.basename(scatter_plot_path))\n",
    "            print(f\"成绩和散点图已打包到 {zip_path}\")\n",
    "\n",
    "        else:\n",
    "            print(f\"未找到编号为 {student_id} 的学生。\")\n",
    "    except ValueError:\n",
    "        print(\"请输入有效的学生编号（数字）。\")\n",
    "    except Exception as e:\n",
    "        print(f\"保存文件失败: {e}\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
